您好,登錄后才能下訂單哦!
這篇文章主要講解了“Redis中慢查詢和訂閱模式是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Redis中慢查詢和訂閱模式是什么”吧!
慢查詢日志就是系統在命令執行時每條命令的執行時間,當超過閥值,就將這條命令記錄下來。【
發送命令
命令排隊
命令執行
返回結果
其中命令執行才是慢查詢統計的時間
slowlog-log-slower-than:預設閥值,單位是毫秒,假如執行一條“很慢”的命令,執行時間超過閥值就會被記錄下來
slowlog-max-len:設置慢查詢日志最多存儲多少條
Redis提供了發布訂閱功能,可以用于消息的傳輸,Redis的發布訂閱機制包括三個部分,發布者,訂閱者和Channel。
發送消息采用publish命令
訂閱某個頻道采用subscribe命令訂閱
模式匹配:同時訂閱多個頻道,命令是PSUBSCRIBE
主動處理
定時處理,在設置過期時間的時候創建一個定時器,當過期時間到的時候立馬執行刪除操作,這個操作是即時的,不管在這個時間段內有多少過期Key,也不管服務器運行情況,都會被刪除,對CPU不是很友好。
定期刪除,定期刪除是設置一個時間間隔每個時間段都會檢測是否有過期鍵,如果有就執行刪除,
被動處理
當已經過期的key再次被訪問時,才會對key是否過期進行判斷,如果已經過期,則進行刪除,并返回NIL.這種處理方式對CPU是友好的,不會對其他過期key上占用CPU,但對內存不友好,一個key已經過期,但是在它被操作前都不會被刪除,仍然占用內存空間,如果有大量過期Key沒有被再次操作,則會浪費大量內存空間。
3.RDB與AOF對過期鍵的處理
如果在執行save或者bgsave命令創建一個RDB時,程序會對數據庫中的鍵進行檢查,已過期的鍵不會被保存到新創建的RDB文件中。
當過期鍵被惰性刪除或者定期刪除之后,程序會向AOF文件追加(append)一條DEL命令,來顯式地記錄該鍵已被刪除。
在執行AOF重寫的過程中,程序會對數據庫中的鍵進行檢查,已過期的鍵不會被保存到重寫后的AOF文件中。
noeviction:默認策略,不會刪除任何數據,拒絕所有寫入操作并返回客戶端錯誤信息,此時Redis只響應讀操作。
volatitle-rlu:根據LRU算法刪除設置了超時屬性的鍵,知道騰出足夠空間為止。如果沒有可刪除的鍵對象,回退到noeviction策略。
allkeys-lru:根據LRU算法刪除鍵,不管數據有沒有設置超時屬性,直到騰出足夠空間為止。
allkeys-random:隨機刪除所有鍵,知道騰出足夠空間為止。
volatitle-random:隨機刪除過期鍵,知道騰出足夠空間為止。
volatitle-ttl:根據鍵值對象的ttl屬性,刪除最近將要過期數據。如果沒有,回退到noeviction策略
感謝各位的閱讀,以上就是“Redis中慢查詢和訂閱模式是什么”的內容了,經過本文的學習后,相信大家對Redis中慢查詢和訂閱模式是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。