Redis使用中的坑

109 阅读1分钟
  • Redis锁 与事务一起使用,使用不当会导致出现意想不到的错误:@Transactional的那些事 - 掘金 (juejin.cn)
  • RedisTemplate increment方法和 @Transactional 注解一起使用,并且别的方法有开启 redis 事务时,会返回 null 一次 Redis 事务使用不当引发的生产事故 - 悟空聊架构 - 博客园 (cnblogs.com)
    • 其实主要是 execute 方法,在获取连接时,如果 enableTransactionSupport 为 true(执行 setEnableTransactionSupport(true)),并且方法上有 @Transactional 注解,那么会先执行 conn.multi() 方法,用于标记一个事务块的开始,然后 increment 方法在 pipeline / transaction 里会返回 null
    • 解决方法:创建两个 redisTemplate