![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
【Redis系列】
文章平均质量分 57
Redis相关优质文章
立小言先森
这个作者很懒,什么都没留下…
展开
-
RedisMessageListenerContainer容器初始化
RedisMessageListenerContainer是Spring Data Redis提供的一个容器类,为Redis监听器提供异步处理能力,处理低级别消息、转换Redis的消息通道,它通常与MessageListenerAdapter和自定义的消息监听器一起使用。原创 2024-08-29 19:29:50 · 316 阅读 · 0 评论 -
spring-boot-starter-data-redis是否支持reactive响应式编程
spring-boot-starter-data-redis-reactive: 使用响应式编程模型,在响应式编程中,你的操作是异步的,并且基于事件驱动;你可以继续处理其他的事情,而不必等待Redis操作完成;当Redis操作完成时,结果会被发送到一个回调函数或订阅者。spring-boot-starter-data-redis: 使用传统的基于阻塞的I/O编程模型,这意味着当你调用Redis操作时,线程将会被阻塞,知道操作完成,这在高并发场景下可能会导致线程资源的良费和响应时间的增加。原创 2024-06-29 15:28:17 · 463 阅读 · 0 评论 -
Redis学习笔记18:基于spring data redis及lua脚本的分布式锁
Redis分布式锁是一种在分布式系统中使用Redis实现的互斥锁。它可以确保在多个客户端同时访问共享资源时,只有一个客户端能够获取到锁,其它客户端需要等待或执行相应的逻辑。一个对springboot redis框架进行重写,支持lettuce、jedis、连接池、同时连接多个集群、多个redis数据库、开发自定义属性配置的开源SDK原创 2023-11-18 10:09:23 · 2366 阅读 · 0 评论 -
Redis学习笔记17:基于spring data redis及lua脚本批处理scan指令查询永久有效的key
Redis的KEYS和SCAN指令都可以用于在数据库中搜索匹配指定模式的键。然而,它们之间有一些关键的区别;KEYS指令会在整个数据库中阻塞地执行匹配操作,并返回匹配的键列表。如果数据库很大,或者匹配的键很多,将会对性能产生负面影响。而SCAN指令通过游标的方式逐步迭代数据库,每次返回一小部分匹配的键,不会阻塞数据库,可以在不影响其它操作的情况下进行遍历。KEYS指令会返回匹配的键列表,这可能会导致返回的结果集很大,可能会占用大量的内存。原创 2023-11-18 09:20:50 · 2581 阅读 · 0 评论 -
Redis学习笔记16:基于spring data redis及lua脚本通过TTL查询永久有效的key
Redis做为一个缓存服务,个人觉得不应该存在有永久有效的数据,要检索一个存在很久的redis服务器中存在哪些永久有效的key,可以通过lua脚本的方式实现;一个对springboot redis框架进行重写,支持lettuce、jedis、连接池、同时连接多个集群、多个redis数据库、开发自定义属性配置的开源SDK原创 2023-11-18 09:19:47 · 1116 阅读 · 0 评论 -
Redis学习笔记15:基于spring data redis及lua脚本发送到redis服务器多久过期
在Redis服务器中,通过SCRIPT LOAD命令加载的脚本会被缓存,并且会一直保存在缓存中,直到服务器重启或者使用SCRIPT FLUSH名利手动清空缓存。一个对springboot redis框架进行重写,支持lettuce、jedis、连接池、同时连接多个集群、多个redis数据库、开发自定义属性配置的开源SDK原创 2023-11-18 09:18:38 · 600 阅读 · 0 评论 -
Redis学习笔记14:基于spring data redis及lua脚本ZSET有序集合实现环形结构案例及lua脚本如何发送到redis服务器
SHA1摘要是对lua脚本的内容进行哈希计算的结果。它是一个40个字符的十六进制字符串。在Redis中,使用SCRIPT LOAD命令可以将lua脚本加载到服务器,并返回一个SHA1摘要,这个摘要可以被用于后续的EVALSHA名利来执行脚本。SHA1摘要的作用是将脚本内容映射为一个唯一的标识符,以便在多次执行脚本时,可以通过传输摘要而不是完整的脚本内容来提高效率。"myvalue"原创 2023-11-18 09:17:17 · 822 阅读 · 0 评论 -
Redis学习笔记13:基于spring data redis及lua脚本list列表实现环形结构案例
工作过程中需要用到环形结构,确保环上的各个节点数据唯一,如果有新的不同数据到来,则将最早入环的数据移除,每次访问环形结构都自动刷新有效期;可以基于lua 的列表list结构来实现这一功能,lua脚本可以节省网络开销、确保操作的原子性。一个对springboot redis框架进行重写,支持lettuce、jedis、连接池、同时连接多个集群、多个redis数据库、开发自定义属性配置的开源SDK原创 2023-11-11 13:13:56 · 1284 阅读 · 0 评论 -
Redis学习笔记12:基于springboot的redis客户端执行lua脚本
Redis客户端允许通过eval指令直接将lua脚本发送到服务器端执行,服务器会阻塞其它指令的执行,确保脚本的原子性;一个对springboot redis框架进行重写,支持lettuce、jedis、连接池、同时连接多个集群、多个redis数据库、开发自定义属性配置的开源SDK原创 2023-11-11 09:16:35 · 1345 阅读 · 0 评论 -
Redis学习笔记11:基于spring的Lettuce redis客户端普通指令、RedisCallback、SessionCallback建立连接数
一个对springboot redis框架进行重写,支持lettuce、jedis、连接池、同时连接多个集群、多个redis数据库、开发自定义属性配置的开源SDK原创 2023-11-11 09:15:35 · 560 阅读 · 0 评论 -
Redis学习笔记10:基于spring的Lettuce redis客户端Pipelining管道
Redis提供了对pipelining管道的支持,这包括在不等待回复的情况下向服务器发送多个命令,然后在一个步骤中读取回复。当需要连续发送多个命令时,管道化可以提高性能,例如:将许多元素添加到同一列表中。一个对springboot redis框架进行重写,支持lettuce、jedis、连接池、同时连接多个集群、多个redis数据库、开发自定义属性配置的开源SDK原创 2023-11-11 09:14:31 · 713 阅读 · 0 评论 -
Redis学习笔记9:基于spring的Lettuce redis客户端连接器LettuceConnectionFactory配置
Lettuce是一个基于Netty的开源连接器,由Spring Data Redis通过org.springframework.data.redis.connection.lettuce包提供支持。一个对springboot redis框架进行重写,支持lettuce、jedis、连接池、同时连接多个集群、多个redis数据库、开发自定义属性配置的开源SDK原创 2023-11-11 09:13:39 · 1744 阅读 · 0 评论 -
Redis学习笔记8:基于springboot的Lettuce redis客户端connectTimeout、timeout、shutdownTimeout
一个对springboot redis框架进行重写,支持lettuce、jedis、连接池、同时连接多个集群、多个redis数据库、开发自定义属性配置的开源SDK原创 2023-11-11 09:12:15 · 2038 阅读 · 0 评论 -
Redis学习笔记7:基于springboot的Lettuce redis客户端keepAlive保活机制
lettuce断线重连监视器ConnectionWatchdog#scheduleReconnect方法中的延迟重连时间是根据io.lettuce.core.resource.Delay策略来决定,默认是采用ExponentialDelay延迟策略,即2的幂次方,即时间是PT0.001S、PT0.002S、PT0.004S一直到最大PT30S。一个对springboot redis框架进行重写,支持lettuce、jedis、连接池、同时连接多个集群、多个redis数据库、开发自定义属性配置的开源SDK。原创 2023-11-11 09:11:01 · 1312 阅读 · 0 评论 -
Redis学习笔记6:基于springboot的Lettuce redis客户端ConnectionWatchdog断线重连时间ExponentialDelay延迟策略
lettuce断线重连监视器ConnectionWatchdog#scheduleReconnect方法中的延迟重连时间是根据io.lettuce.core.resource.Delay策略来决定,默认是采用ExponentialDelay延迟策略,即2的幂次方,即时间是PT0.001S、PT0.002S、PT0.004S一直到最大PT30S。一个对springboot redis框架进行重写,支持lettuce、jedis、连接池、同时连接多个集群、多个redis数据库、开发自定义属性配置的开源SDK。原创 2023-10-28 09:21:14 · 1040 阅读 · 0 评论 -
Redis学习笔记5:基于springboot的lettuce redis客户端断线重连ConnectionWatchdog
lettuce默认采用共享本地连接的模式和redis服务器端交互,如果连接断开如何及时发现并且重新建立连接呢?通过翻阅源码发现有两种方案,方案一:开启连接有效性检测;方案二:通过ConnectionWatchdog监视器一个对springboot redis框架进行重写,支持lettuce、jedis、连接池、同时连接多个集群、多个redis数据库、开发自定义属性配置的开源SDK原创 2023-10-28 09:19:12 · 2247 阅读 · 0 评论 -
Redis学习笔记4:基于springboot的lettuce redis客户端LettuceConnectionFactory连接工厂LettuceConnectionProvider实现
LettuceConnectionFactory连接工厂在建立本地连接的时候会通过LettuceConnectionProvider的具体实现建立真实的本地连接,LettuceConnectionProvider在连接工厂中起到的作用就是连接提供者的角色,具体建立连接是会调用对应的getConnection方法。一个对springboot redis框架进行重写,支持lettuce、jedis、连接池、同时连接多个集群、多个redis数据库、开发自定义属性配置的开源SDK原创 2023-10-28 09:17:23 · 2201 阅读 · 0 评论 -
Redis学习笔记3:基于springboot的lettuce redis客户端validateConnection连接有效性检查
LettuceConnectionFactory连接工厂默认对redis操作时不会对本地共享连接进行有效性检测,不进行有效性检测可以 提升应用程序的性能,但是也会带来一定的连接无效性的风险,LettuceConnectionFactory提供了一个validateConnection属性,默认值是false,可以在我们对性能要求不是很高的场景下对redis操作之前进行有效性检查,如果无效则重新建立连接。原创 2023-10-28 09:15:33 · 1191 阅读 · 0 评论 -
Redis学习笔记2:基于springboot的lettuce redis客户端eagerInitialization提前初始化连接
LettuceConnectionFactory连接工厂类默认是不会提前初始化本地物理连接的,也就是懒加载模式,只有等到客户端的RedisTemplate等具体要操作Redis时才会去建立连接。一个对springboot redis框架进行重写,支持lettuce、jedis、连接池、同时连接多个集群、多个redis数据库、开发自定义属性配置的开源SDK原创 2023-10-28 09:13:53 · 490 阅读 · 0 评论 -
Redis学习笔记1:基于springboot的lettuce redis客户端共享原生物理连接shareNativeConnection
springboot默认是使用基于lettuce的redis客户端,默认情况下LettuceConnectionFactory的shareNativeConnection属性值为true;原创 2023-10-28 09:12:22 · 989 阅读 · 2 评论