基于RedisTemplate实现保存数据设置过期时间
时间: 2024-05-10 16:17:20 浏览: 243
localStorage 设置过期时间的方法实现
在使用 RedisTemplate 保存数据时,可以使用 `opsForValue()` 方法获取 ValueOperations 对象,该对象提供了 `set(key,value,timeout,unit)` 方法可以设置过期时间。其中,`timeout` 表示过期时间,`unit` 表示时间单位。
下面是一个示例代码:
```java
@Autowired
private RedisTemplate<String, Object> redisTemplate;
public void saveWithExpireTime(String key, Object value, long timeout, TimeUnit unit) {
ValueOperations<String, Object> ops = redisTemplate.opsForValue();
ops.set(key, value, timeout, unit);
}
```
调用该方法时,可以传入一个时间单位,例如 `TimeUnit.SECONDS`,表示过期时间单位为秒。在 Redis 中,过期时间可以是一个整数或一个时间戳,如果设置为时间戳,则可以使用 `System.currentTimeMillis()` 来获取当前时间戳。
需要注意的是,过期时间只是一个提示,Redis 并不保证在过期时间到达后立即删除数据,而是在某个未指定的时间点后尽快删除。
阅读全文