起因
今天在写业务代码的时候,用到了StringRedisTemplate
中redisTemplate.opsForValue().setIfAbsent()
中并不是我期望的true
或者false
而是返回了null
,起初我还以为是因为Returns:null when used in pipeline / transaction.
这个原因,但是我并没有在业务中使用到事务。
原因
遂使用谷歌大法,才搜到原来这是因为Redisson
的bug
,网友给出的解决方案是去掉就好了,但是不可能因为这个问题就不使用Redisson
,看来又看但一个帖子,说这是redisson
的bug
。看到这里,我就想到去看看github
中是不是有相关的issue
呢?
解决
果然,我们可以看到有两个issue
是关于setIfAbsent
返回null
的问题,让我们去