随笔分类 -  中间件

摘要:Redis锁的使用 起因:分布式环境下需对并发进行逻辑一致性控制 架构:springboot2、Redis IDEA实操 先新建RedisLock组件 注:释放锁使用lua脚本保持原子性 @Component @Slf4j public class RedisLock { private final 阅读全文
posted @ 2022-12-06 15:08 simonlee_java 阅读(20) 评论(0) 推荐(0)
摘要:Springboot配置多Redis源 一、背景 因项目部署了新集群,某些缓存数据需要在旧的redis上取,就必须配置多个数据源动态获取相对应的源以兼容业务。 二、配置依赖 <dependency> <groupId>org.apache.commons</groupId> <artifactId> 阅读全文
posted @ 2022-12-06 14:57 simonlee_java 阅读(1551) 评论(0) 推荐(0)
摘要:踩坑记录:Redis的lettuce连接池不生效 一、lettuce客户端 lettuce客户端 Lettuce 和 Jedis 的都是连接Redis Server的客户端程序。Jedis在实现上是直连redis server,多线程环境下非线程安全(即多个线程对一个连接实例操作,是线程不安全的), 阅读全文
posted @ 2022-12-06 14:44 simonlee_java 阅读(1160) 评论(0) 推荐(0)
摘要:缓存管理器CacheManager 一、背景 ​ 代码并发量因建行活动页上升,大量请求打到Mongo导致数据库cpu100%从而服务不可用,目前解决方案,使用编程式缓存,即对缓存的操作与业务代码耦合。目前基本上可以解决并发问题。此次提出CacheManager主要是优化代码。使用声明式,即注解的方式 阅读全文
posted @ 2022-12-06 14:38 simonlee_java 阅读(431) 评论(0) 推荐(0)
摘要:Redis模糊匹配Key值 使用Redis的scan代替Keys指令: public Set<String> scan(String matchKey) { Set<String> keys = (Set<String>)redisTemplate.execute((RedisCallback<Se 阅读全文
posted @ 2022-12-06 14:34 simonlee_java 阅读(2700) 评论(0) 推荐(0)