天天看點

redisTemplate判斷key是否過期且存在?

@Autowired
private RedisTemplate<String, Object> redisTemplate;
 
@Autowired
private StringRedisTemplate template;
 
/**
 * 判斷key是否存在
 * @param key
 * @return
 */
public boolean exists(String key) {
	return template.hasKey(key);
}
 
/**
 * 判斷key是否過期
 * @param key
 * @return
 */
public boolean isExpire(String key) {
	return expire(key) > 0?false:true;
}
 
 
/**
 * 從redis中擷取key對應的過期時間;
 * 如果該值有過期時間,就傳回相應的過期時間;
 * 如果該值沒有設定過期時間,就傳回-1;
 * 如果沒有該值,就傳回-2;
 * @param key
 * @return
 */
public long expire(String key) {
	return redisTemplate.opsForValue().getOperations().getExpire(key);
}
           

繼續閱讀