Redis expire 相關資訊

2021-10-06 08:48:21 字數 526 閱讀 1645

1.expire的時間複雜度時o(1)。

2.當乙個key設定乙個超期時間後,超期時間只能通過刪除命令或者重寫命令清除(包括 del, set, getset 和所有的 *store 命令),修改命令不能清除超期時間。修改命令包括使用incr修改值,通過lpush在list中插入乙個新值,通過hset修改對映表中的值域等。如果乙個鍵通過rename命令重新命名,原來的超期時間將轉移到重新命名後的鍵上。

3.當在乙個擁有超期時間的鍵上再次執行expire命令時,會重新整理該鍵的超期時間。

4.redis通過兩種方式執行expire操作:

(1)被動刪除。當客戶端查詢乙個鍵時,檢查該鍵的超期時間,如果已經超期,則將該鍵刪除,並返回空。

(2)主動刪除。redis伺服器會以每秒10次的頻率進行檢查。檢查的過程如下:

1.隨機選擇20個擁有超期時間的鍵。

2.刪除發現的已過期的鍵。

3.如果已過期的鍵在採集的樣本中的超過25%,則再次進行步驟一。

這是乙個簡單的概率問題,最終會將已過期的鍵所佔的比例下降25%一下。

redis expire超時操作

基本使用 127.0.0.1 6379 expire user 1000 integer 1127.0.0.1 6379 ttl user 檢視剩餘超時時間 integer 996 超時重置 有些redis命令會清除key的超時時間,如set,del,getset和所有的 store命令。即修改re...

URL相關資訊

httprequest物件包含當前請求url的一些資訊 1屬性 方法 說明舉例 request.path 除網域名稱以外的請求路徑,以正斜槓開頭 hello request.get host 主機名 比如,通常所說的網域名稱 127.0.0.1 8000 or www.example.com req...

iOS獲得裝置相關資訊,獲取app相關資訊

裝置所有者名稱 device.name 裝置所有者名稱 nslog 裝置類別 device.model 裝置leibie nslog 本地化版本 device.localizedmodel 本地化版本 nslog 當前系統版本 device.systemversion 當期版本 nslog 當前系統...