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;
}
