一.前言
本文簡單地記錄一下Redis中設置key的生存時間或過期時間的方式。
二.設置key的生存時間
通過EXPIRE命令和PEXPIRE命令,可以給key設置生存時間(Time To Live,TTL),EXPIRE設置的時間單位為秒,PEXPIRE設置的時間單位為毫秒,在經過指定的生存時間后,Redis服務器會自動刪除生存時間為0的key。
//命令 //給指定key設置生存時間(單位秒) EXPIRE key seconds //給指定key設置生存時間(單位毫秒) PEXPIRE key milliseconds
三.設置key的過期時間
通過EXPIREAR命令和PEXPIREAT命令,可以給key設置過期時間(expire time),這個過期時間是一個UNIX時間戳,EXPIREAT設置的時間戳單位是秒,PEXPIREAT設置的時間戳單位是毫秒。當key的過期時間來臨時,Redis服務器會自動刪除這個過期的key。
//命令 //給指定key設置生存時間(單位秒) EXPIRE key seconds //給指定key設置生存時間(單位毫秒) PEXPIRE key milliseconds //查看當前服務器的時間 返回兩個值,一是當前時間(UNIX時間戳格式),二是這一秒已經逝去的微秒數 TIME
四.獲取key的剩余生存時間
TTL命令和PTTL命令接受一個帶有生存時間或者過期時間的key,返回這個key的剩余生存時間。TTL獲取的時間單位是秒,PTTL獲取的時間單位是毫秒。如果命令接受的key是沒有設置生存時間或過期時間,那么返回-1。
//命令 //獲取key剩余的生存時間(單位秒) TTL key //獲取key剩余的生存時間(單位毫秒) PTTL key
五.移除key的過期時間(生存時間)
設置生存時間的EXPIRE命令和PEXPIRE命令在客戶端中最終也是轉換為PEXPIREAT命令來實現,也就是都是給key設置過期時間。移除key的過期時間和生存時間都是同樣的使用PERSIST命令來實現。
//命令 //刪除key的過期時間(生存時間) PERSIST key
六.總結
1.可以給key設置一個時間,等過了這個時間就自動把key刪除。使用命令:EXPIRE、PEXPIRE、EXPIREAT、PEXPIREAT。
2.可以查看key的剩余生存時間。使用命令:TTL、PTTL。
3.可以移除key的過期時間。使用命令:PERSIST。