redis中的TTL -1表示未设置过期时间, -2表示不存在 其余的以秒为单位表示剩余过期时间,时间到0之后,自动从缓存清除出去
通过传入的KeyPrefix的expireSeconds表示的过期时间,在通过redisTemplate.expire(realKey, prefix.getExpireSeconds(), TimeUnit.SECONDS);来定义过期时间
/**
* 写入缓存
*
* @param key
* @param value
* @return
*/
public boolean set(KeyPrefix prefix, String key, Object value) {
boolean result = false;
try {
String realKey = prefix.getPrefix() + key;
ValueOperations<Serializable, Object> operations = redisTemplate
.opsForValue();
operations.set(realKey, value);
if(prefix.getExpireSeconds() != -1){
redisTemplate.expire(realKey, prefix.getExpireSeconds(), TimeUnit.SECONDS);
}
result = true;
} catch (Exception e) {
e.printStackTrace();
}
return result;
}