价值
方便操作redis
入口
RedisAutoConfiguration(springboot系列都应该先去分析自动配置类)
底层实现
lettuce 基于netty的事情驱动模式
打开日志级别
io.netty.handler.codec.EncoderException
CommandHandler命令的编码/解码异常会导致,处理netty响应异常
jedis
单线程模式
连接使用socket = new Socket();分配在堆中,会导致线程不安全。
使用连接池可以避免,和降低Socket连接成本。
分布式锁
Redisson
核心,看门狗线程
特别注意多线程分布式锁的处理:
1 | RLock lock = redissonClient.getLock(key); |
redis操作原子性
如果可能使用lua,进行操作原子性保障
参考
Lettuce和jedis
https://jishuin.proginn.com/p/763bfbd73b84
jedis线程不安全
https://cloud.tencent.com/developer/article/1678172