摘要:定時刪除在設置鍵的過期時間的同時,創建一個,讓定時器在鍵的過期時間到達時,立即執行對鍵的刪除操作。主動刪除對內存友好,但是對時間不友好,有較多過期鍵的而情況下,刪除過期鍵會占用相當一部分時間。
1.定時刪除:在設置鍵的過期時間的同時,創建一個timer,讓定時器在鍵的過期時間到達時,立即執行對鍵的刪除操作。(主動刪除)
對內存友好,但是對cpu時間不友好,有較多過期鍵的而情況下,刪除過期鍵會占用相當一部分cpu時間。
2.惰性刪除:放任過期鍵不管,但是每次從鍵空間中獲取鍵時,都檢查取到的鍵是否過去,如果過期就刪除,如果沒過期就返回該鍵。(被動刪除)
對cpu時間友好,程序只會在取出鍵的時候才會對鍵進行過期檢查,這不會在刪除其他無關過期鍵上花費任何cpu時間,但是如果一個鍵已經過期,而這個鍵又保留在數據庫中,那么只要這個過期鍵不被刪除,他所占用的內存就不會釋放,對內存不友好。
3.定期刪除:每隔一段時間就對數據庫進行一次檢查,刪除里面的過期鍵。(主動刪除)
采用對內存和cpu時間折中的方法,每個一段時間執行一次刪除過期鍵操作,并通過限制操作執行的時長和頻率來減少對cpu時間的影響。難點在于,選擇一個好的策略來設置刪除操作的時長和執行頻率。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/77688.html
摘要:對于數據結構哈希表我們在上一篇也已經詳細說了。鍵空間示意圖的數據庫就是使用字典哈希表來作為底層實現的,對數據庫的增刪改查都是構建在字典哈希表的操作之上的。 前言 只有光頭才能變強 今天繼續來學習Redis,上一篇從零單排學Redis【青銅】已經將Redis常用的數據結構過了一遍了。如果還沒看的同學可以先去看一遍再回來~ 這篇主要講的內容有: Redis服務器的數據庫 Redis對過期...
閱讀 2871·2021-10-14 09:43
閱讀 1657·2021-09-29 09:34
閱讀 1743·2021-07-28 00:16
閱讀 2963·2019-08-30 15:53
閱讀 2905·2019-08-30 13:59
閱讀 2961·2019-08-30 13:57
閱讀 1091·2019-08-26 13:38
閱讀 1893·2019-08-26 13:25