Redis中String设置时间的方法

redisTemplate.opsForValue().set("loginCode","254588",2, TimeUnit.SECONDS);//过期时间2秒

redisTemplate.opsForValue().set("loginCode","254588",2, TimeUnit.MINUTES);//过期时间2分钟

redisTemplate.opsForValue().set("loginCode","254588",2, TimeUnit.HOURS);//过期时间2小时

redisTemplate.opsForValue().set("loginCode","254588",2, TimeUnit.DAYS);//过期时间2天

时间类型:TimeUnit

import java.util.concurrent.TimeUnit;


TimeUnit.SECONDS:秒

TimeUnit.MINUTES:分

TimeUnit.HOURS:时

TimeUnit.DAYS:日

TimeUnit.MILLISECONDS:毫秒

TimeUnit.MILLISECONDS:微秒

TimeUnit.NANOSECONDS:纳秒


Redis中Hash和List设置时间的方法

Java对于Redis的封装不是能满足所有的业务需求的,但是我们可以通过lua脚本来直接向Redis发送命令从而保证原子性;

下面这两句话,可以实现向Redis插入Hash数据,并且设置整个Hash的过期时间。

putIfAbsent 指的是如果传入key对应的value已经存在,就返回存在的value,不进行替换。如果不存在,就添加key和value,返回null。意思就是如果没有才插入。


boolean a = redisTemplate.opsForHash().putIfAbsent(name, k, v);

boolean b = redisTemplate.expire(name, keepTime, TimeUnit.SECONDS);

 

Redis中Hash的put、putAll、putIfAbsent区别


image.png

put

向Redis添加单个key、hashKey、hashValue


image.png


putAll

添加整个hash


image.png


putIfAbsent

如果传入key对应的value已经存在,就返回存在的value,不进行替换。如果不存在,就添加key和value,返回null。



image.png


————————————————

版权声明:本文为CSDN博主「番茄Salad」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/weixin_44912902/article/details/129684986