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