摘要: 踩坑记录:Redis的lettuce连接池不生效 一、lettuce客户端 lettuce客户端 Lettuce 和 Jedis 的都是连接Redis Server的客户端程序。Jedis在实现上是直连redis server,多线程环境下非线程安全(即多个线程对一个连接实例操作,是线程不安全的), 阅读全文
posted @ 2022-12-06 14:44 simonlee_java 阅读(844) 评论(0) 推荐(0) 编辑
摘要: 缓存管理器CacheManager 一、背景 ​ 代码并发量因建行活动页上升,大量请求打到Mongo导致数据库cpu100%从而服务不可用,目前解决方案,使用编程式缓存,即对缓存的操作与业务代码耦合。目前基本上可以解决并发问题。此次提出CacheManager主要是优化代码。使用声明式,即注解的方式 阅读全文
posted @ 2022-12-06 14:38 simonlee_java 阅读(338) 评论(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 阅读(2622) 评论(0) 推荐(0) 编辑
摘要: 1、Semaphore信号量源码解析(基于jdk11) 1.1 Semaphore概述 public class Semaphore extends Object implements Serializable Semaphore直译过来就是信号量,被作为一种多线程并发控制工具来使用。 Semaph 阅读全文
posted @ 2022-12-06 14:23 simonlee_java 阅读(125) 评论(0) 推荐(0) 编辑
摘要: CyclicBarrier循环屏障源码解析(基于jdk11) 1.1 CyclicBarrier概述 public class CyclicBarrier extends Object CyclicBarrier被称为循环屏障/同步屏障,它可以使一定数量的线程反复在"屏障"上汇集,当线程达到"屏障" 阅读全文
posted @ 2022-12-06 14:13 simonlee_java 阅读(31) 评论(0) 推荐(0) 编辑
摘要: CountDownLatch闭锁源码解析(基于jdk11) 1.1 CountDownLatch概述 public class CountDownLatch extends Object CountDownLatch是一种同步工具,常被称为"闭锁",也叫做"倒计数器"。在完成一组正在其他线程中执行的 阅读全文
posted @ 2022-12-06 10:43 simonlee_java 阅读(44) 评论(0) 推荐(0) 编辑