时间设置解决Redis中Java设置的过期时间问题(redisjava过期)
在运用Redis作为缓存技术时,一般都会为每个key加上过期时间,以减少内存浪费。以下是在Java中设置Redis中key的过期时间:
引入相关jar包:
“`xml
org.springframework.data
spring-data-redis
2.2.2.RELEASE
org.springframework
spring-context
5.2.2.RELEASE
在Spring中,可以在application.yml文件中配置Redis的连接:
spring:
redis:
host=192.168.0.166
password=123456
port=6379
在实体类Import的jar包中,用@RedisHash表示这张表存储在Redis中,用@TimeToLive来标注设置key的过期时间(单位:秒):
@RedisHash(timeToLive = 86400)
public class User implements Serializable {
…
}
在更新一个实体类后,可以用RedisTemplate方法设置key的过期时间,以及设置过期时间和实体类的匹配关系:
@Autowired
private StringRedisTemplate stringRedisTemplate;
// 设置key的过期时间
stringRedisTemplate.expire(REDIS_KEY + user.getUserId(), user.getExpireToLive(), TimeUnit.SECONDS);
// 将过期时间和实体类对象关联
stringRedisTemplate.opsForHash().put(user.getUserId(), EXPIRE_KEY, String.valueOf(user.getExpireToLive()));
通过这样的设置,就可以在Java中设置Redis中key的过期时间,也就避免内存空间的浪费。