基于redis setIfAbsent的使用说明
如果为空就set值,并返回1如果存在(不为空)不进行操作,并返回0很明显,比get和set要好。因为先判断get,再set的用法,有可能会重复set值。setIfAbsent 和 setnxsetIfAbsent 是java中的方法setnx 是 redis命令中的方法代码:spring-date-redis版本:1.6.2场景:在使用setIfAbsent时,想对key设置一个过期时间,同时需要用到setIfAbsent的返回值来指定之后的流程,所以使用了以下代码:这段代码是有问题的:当setIfAbsent成功之后断开连接,下面设置过期时间的代码stringRedisTemplate.expire; 是无法执行的,这时候就会有大量没有过期时间的数据存在数据库。本因为这样就可以了,可是事实总是不尽人意,因为我在文档中发现了以下内容:加了事务管理之后,setIfAbsent的返回值竟然是null,这样就没办法再进行之后的判断了。
下载地址
用户评论