Redis学习目录一、NoSQL二、什么是Redis?三、redis的功效及应用场景应用场景四、Redis常用命令4.1、Key-String4.2、Key-Hash4.3、Key-List4.4、Key-Set4.5、Key-Zset4.6、key的常用命令4.7、库的常用命令五、Java连接Redis六、Redis的其他配置及集群6.1 Redis 的 AUTH6.2 面试官:Redis到底            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-11-25 17:39:34
                            
                                6阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            按照五点把书中的内容进行一下整理:1、为什么要选择Redis:介绍Redis的使用场景与使用Redis的原因;2、Redis常用命令总结:包括时间复杂度总结与具体数据类型在Redis内部使用的数据结构;3、Redis的高级功能:包括持久化、复制、哨兵、集群介绍;4、理解Redis:理解内存、阻塞,这部分是非常重要的,前面介绍的都可以成为术,这里应该属于道的部分;5、开发技巧:主要是一些开发实战的总            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-08 21:24:01
                            
                                312阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            缓存缓存现在是几乎每个中大型网站的比啥技。合理的利用缓存不仅能提升网站的访问速度,还能大大降低数据库压力。 redis的key-value键值过期机制, 提供了灵活的键淘汰策略 ,所以redis应用场景特别的多。排行榜很多网站都有排行榜,如京东的月度销量,商品的最新排行。 redis提供的有序集合数据类型能实现各种复杂排行榜的应用。计数器什么是计数器? 电商网站的浏览量、视频的播放量 。为了保证实            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-30 08:26:21
                            
                                96阅读
                            
                                                                             
                 
                
                             
         
            
            
            
             总感觉哪里不对,但是又说不上来。基本类型及底层实现 1.1、String用途:适用于简单 key-value 存储、setnx key value 实现分布式锁、计数器(原子性)、分布式全局唯一 ID。底层:C 语言中 String 用 char[] 数组表示,源码中用 SDS(simple dynamic string) 封装 char[],这是是 Re            
                
         
            
            
            
            1.字符串类型(String)Redis 字符串是字节序列。Redis 字符串是二进制安全的,这意味着他们有一个已知的长度没有任何特殊字符终止,所以你可以存储任何东西,512 M为上限,主要的还是操作键值对。常用使用场景:①.缓存信息:        将要储存的信息序列化成字符串,然后将字符串存入redis的value            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-05-30 16:39:36
                            
                                147阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-11-10 15:10:03
                            
                                93阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            今天讲一道面试中区分度比较高的题:请你详细讲讲 Redis 中 hash 结构何时扩容(何时rehash)?这道题已经超出了一般面试中只问到数据类型的层次,要求面试者阅读过 Redis 源码,并且深入探究过 Hash 编码的扩容过程。哈希表在 Redis 中,哈希数据类型的底层实现是hash表、压缩列表,在未来 6.2以后 listpack 也会作为其底层实现,在这里我们只对 hash 表做探究。            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-30 08:52:41
                            
                                43阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            当redis数据库中HashTable数据达到触发条件时,会触发哈希表的重构的操作。触发操作同时需要检测server是否有持久化操作,即检测持久化进程是否存在,如果存在那么rehash过程不会操作。因为当有单独进程在进行持久化操作时,会引起数据差异化,即持久化进程所持有的的hash表数据,和主进程所持有的hash表数据会不同。只有在进程创建的那一刻两者的数据时一致的,这是在创建进程时的copy-o            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-28 00:06:25
                            
                                119阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # 什么时候使用MongoDB,什么时候使用Redis
在开发过程中,我们常常需要使用数据库来存储和管理数据。MongoDB和Redis都是非常流行的数据库系统,但它们各自有不同的优势和适用场景。本文将介绍什么时候使用MongoDB,什么时候使用Redis,并提供代码示例来帮助读者更好地理解。
## MongoDB
MongoDB是一个基于文档的NoSQL数据库,具有灵活的数据模型和强大的查            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-07-06 03:57:45
                            
                                143阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1.redis持久化的两种方式2.两种持久化方式区别3.两种持久化方式的使用场景1.Redis 是内存型数据库,一般来用作缓存。保存在内存的数据有一个特点, 就是断电消失,因此一旦 Redis 宕机了,重启以后保存在 Redis 里面的数据就会消失, 此时服务器在 Redis 里面获取不到缓存,就会让缓存无法命中,导致缓存雪崩,请求直接打到 MySQL 上最后让 MySQL 也宕机。 因此我们需要            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-14 23:02:06
                            
                                92阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            缓存与数据一致性操作缓存和数据库时有三个问题需要考虑1.删除缓存还是更新缓存?更新缓存:每次更新数据库都更新缓存,无效写操作较多删除缓存:更新数据库时让缓存失效,查询时再更新缓存2.如何保证缓存与数据库的操作的同时成功或失败?单体系统,将缓存与数据库操作放在一个事务分布式系统,利用TCC等分布式事务方案3.先操作缓存还是先操作数据库?先删除缓存,再操作数据库先操作数据库,再删除缓存由于数据库的操作            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-04 11:12:58
                            
                                117阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            问题1:和跟 Redis 相比,SimpleKV 还缺少什么?问题2:整数数组和压缩列表作为底层数据结构的优势是什么?整数数组和压缩列表的设计,充分体现了 Redis“又快又省”特点中的“省”,也就是节省内存空间。1、整数数组和压缩列表都是在内存中分配一块地址连续的空间,然后把集合中的元素一个接一个地放在这块空间内,非常紧凑。2、因为元素是挨个连续放置的,我们不用再通过额外的指针把元素串接起来,这            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-11 10:22:59
                            
                                26阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            持久化的概念:持久化可以理解为存储,就是将数据存储到一个不会丢失的地方,如果把数据放在内存 中,电脑关闭或重启数据就会丢失,所以放在内存中的数据不是持久化的,而放在磁盘就算 是一种持久化。 Redis的数据存储在内存中,内存是瞬时的,如果 linux 宕机或重启,又或者Redis崩溃或重启,所有的内存数据都会丢失,为解决这个问题,Redis提供两种机制对数据进行持久化存储,便于发生故障后            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-09 21:43:03
                            
                                78阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1. 绪言        redis是一种内存数据库,它把数据存储在服务器的内存当中,这样极大地保证了redis数据库的性能,但也为数据安全带来了隐患——redis所在服务器重启或者发生宕机后,redis数据库里的所有数据将会全部丢失。庆幸的是,redis数据提供了一种持久化机制,可以将内存中的数据写入到硬盘中,有效降低了数据丢失的风险。2. 什么是持久化&            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-20 08:02:31
                            
                                29阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # Redis 什么时候进行 Rehash
## 引言
在使用 Redis 进行数据存储时,我们经常需要考虑数据的扩容问题。当数据量增加到一定程度时,Redis 会自动进行 Rehash 操作,将数据重新分布到更多的槽位上,以保证数据的均衡性和性能。对于刚入行的开发者来说,了解 Redis 的 Rehash 机制是非常重要的。
本文将详细介绍 Redis 的 Rehash 过程,包括流程图、步            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-11-28 12:33:50
                            
                                30阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            在实际应用中,了解Redis何时更新是关键问题之一,尤其是在高并发环境中,这直接关系到系统的一致性和可靠性。以下是针对“Redis什么时候更新”问题的探讨与解决策略。
## 备份策略
在应用Redis之前,首先必须明确备份的策略,以确保潜在的数据丢失可以得到快速恢复。
```mermaid
flowchart TD
    A[开始备份] --> B{选择备份类型}
    B -->|RD            
                
         
            
            
            
            使用Redis过程中,总是会遇到各种各样问题,这里进行问题的总结,作为Redis 进阶的经验分享。       更新缓存的问题[主动]需要操作人员去操作,或者定时调度 [被动]由用户触发更新 [预加载]提前加载好数据方案1[主动]后台点击更新缓存按钮,从DB查找最新数据集合,删除原缓存数据,存储新数据到缓存;问题:更新过程中删除掉缓存后刚好有业务在查询,那么这个时候返回的数据会是空,会影响用户体验            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-22 13:07:52
                            
                                85阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Redis内存消除是指Redis可以主动从实例中删除用户存储的某些键,从而导致读取未命中的事实。那么,Redis为什么具有此功能?这是我们需要探索的设计的初衷。Redis的两种最常见的应用场景是缓存和持久性存储。首先要明确的一个问题是内存淘汰策略更适合于那种场景?是持久存储还是缓存?内存的淘汰机制的初衷是为了更好地使用内存,用一定的缓存miss来换取内存的使用效率。作为Redis用户,我如何使用R            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-25 15:59:32
                            
                                64阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # 本地缓存与Redis:何时使用?
在现代的应用程序中,性能和用户体验至关重要。为了提高数据访问速度,开发者经常使用缓存技术。本文将探讨何时使用本地缓存,何时使用Redis,并通过代码示例加以说明。我们还将使用`Mermaid`语法展示相关的图形。
## 一、本地缓存与Redis的定义
**本地缓存**通常指的是存储在应用进程内存中的数据。这种缓存速度快,适合于访问频繁且数据量较小的场景。            
                
         
            
            
            
            # 如何实现“Redis什么时候返回1什么时候返回0”教程
## 1. 整体流程
下面是实现“Redis什么时候返回1什么时候返回0”的流程表格:
```markdown
| 步骤 | 操作 |
| ---- | ---- |
| 1    | 连接Redis数据库 |
| 2    | 执行操作,获取结果 |
| 3    | 判断结果是1还是0 |
```
## 2. 每一步操作
#            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-07-13 05:03:45
                            
                                37阅读