Redis資料庫實現方面的使用策略與優缺點分析

2021-10-09 19:53:42 字數 887 閱讀 9239

dict:鍵值對的儲存空間

expires:儲存某個鍵的過期時間,值為long long型別的絕對過期時間。

策略:redis設定過期時間時,同時設定乙個定時器,到時間刪除鍵。

優點:可以即時刪除鍵值,對記憶體比較友好。

缺點:存在大量的定時器,對cpu行能不友好

優點:對cpu效能友好,不需要不斷去檢索過期時間。

缺點:對記憶體不友好,存在大量過期鍵,並有可能鍵長時間不使用產生過多無效記憶體。

策略:規定乙個時間,對所有設定了過期時間的鍵掃瞄一次,將過期的鍵刪除。時間可以是一小時,一天,一周等等。

優點:折中方式,具備以上兩種策略的所有優點。

缺點:折中方式,具備以上兩種策略的所有缺點。

策略:操作key時,檢測key過期時間,如過期則刪除。

各類操作下的實現:

rdb持久化(持久化資料到磁碟檔案):在生成rdb或恢復rdb時,檢測key的過期時間,如果過期則不生成或不恢復。

aof持久化(持久化redis操作插入,更新和刪除):在aof寫入,恢復時進行惰性刪除,如果過期則不記錄。

主從複製:主從複製時,主伺服器每刪除乙個key時會向從伺服器傳送一條del指令,從服務不會自己處理過期鍵,僅通過主服務傳送的del鍵刪除鍵。

每次在部分資料庫中隨機選擇一部分過期鍵進行刪除,並不會一次刪除所有的過期鍵,避免對大量占用cpu。

原理:redis發布、訂閱的一種使用方式,但訂閱的是redis資料庫發起的事件。

命令:subscribekeyspace@dbid:[key|event]

名詞解釋:

dbid:資料庫例項id

event:執行的相應命令, 如del, add等

key:訂閱的key, 在對key操作時會傳送通知

關於資料庫方面的書籍

匿名 瀏覽 23590 次 問題暫時關閉 推薦於2016 01 24 15 44 01 最佳答案 資料庫系統導論 第七版 c.j.date著 機械工業出版社,資料庫領域中的權威著作,專業理論書籍出版至第七版,在業界是罕見的,可以想見該書具有多高的水平。資料庫系統概念 第三版 silberschatz...

mysql資料庫方面的操作

linux下執行mysql的sql檔案 mysql uroot proot 進入到mysql 然後執行source var ftp pub sogoodsoft.sql 即可。www.2cto.com 以下內容 linux 裡的mysql命令總結 學習linux mysql必備 一 總結一下linu...

資料庫優化方面的事情

資料庫優化方面的事情 定位 查詢,定位慢查詢,優化手段 1 建立索引 建立合適的索引,我們就可以現在索引中查詢,查詢到以後直接找對應的記錄。2 分表 當一張表的資料比較多或者一張表的某些欄位的值比較多並且很少使用時,採用水平和垂直分表來優化 3 讀寫分離 當一台伺服器不能滿足需求時,採用讀寫分離的方...