Redis可以用使用 expire 指令設置過期時間,在Redis內部,每當我們設置壹個鍵的過期時間時,Redis就會將該鍵帶上過期時間存放到壹個過期字典中。當我們查詢壹個鍵時,Redis便首先檢查該鍵是否存在過期字典中,如果存在,那就獲取其過期時間。然後將過期時間和當前系統時間進行比對,比系統時間大,那就沒有過期;反之判定該鍵過期。
那對於過期數據,壹般有三種方式進行處理:
Redis的過期刪除策略: 惰性刪除 和 定期刪除 兩種策略配合使用。
spring-boot-starter-data-redis 包中提供了監聽過期的類,對於key過期,需要得到通知,做業務處理的,可以做此監聽。
springboot整合Redis參考, SpringBoot整合Redis - (jianshu.com)
在整合Redis的基礎上,在新加監聽配置
監聽配置類
監聽類
將Redis用作緩存時,如果內存空間用滿,就會自動驅逐老的數據。
Redis中有6種淘汰策略:
redis.conf 文件中配置策略,有2個地方: