RedisTemplate opsForValue().setIfAbsent()
1 直接看代码
System.out.println(redisTemplate.opsForValue().get("redisKey")); // null
boolean redisKeyBoolean = redisTemplate.opsForValue().setIfAbsent("redisKey","666");
System.out.println("第一次redisKey没有值,则:"+redisKeyBoolean); // 第一次redisKey没有值,则:true
System.out.println(redisTemplate.opsForValue().get("redisKey")); // 666
redisKeyBoolean = redisTemplate.opsForValue().setIfAbsent("redisKey","999");
System.out.println("第二次redisKey有值,则:"+redisKeyBoolean); // 第二次redisKey有值,则:false
System.out.println(redisTemplate.opsForValue().get("redisKey")); // 666
if(!redisKeyBoolean){
// 先获取值返回,然后设置新值
Object redisKey = redisTemplate.opsForValue().getAndSet("redisKey", "000");
System.out.println(redisKey); // 666
System.out.println(redisTemplate.opsForValue().get("redisKey")); // 000
}
2 opsForValue().setIfAbsent()带过期时间的重载
我对任何唾手而得,快速,出自本能,即兴,含混的事物没有信心。我相信缓慢,平和,细水长流的力量,踏实,冷静。我不相信缺乏自律精神和不自我建设,不努力,可以得到个人或集体的解放。