當前位置:首頁 » 文件管理 » 查緩存時間過期設多長

查緩存時間過期設多長

發布時間: 2025-04-07 01:57:38

Ⅰ Redis緩存過期機制

一、針對與設置了過期時間的key值

    1.(主動)定期刪除:定時隨機的檢查過期的key,如果過期則清理刪除

        redis.conf(每秒檢查的次數1-500)配置:   hz 10

    2.(被動)惰性刪除:當客戶端請求到一個已經過期的key時,redis會檢查是否過期並刪除

所以,雖然key過期了,但是沒被清理的話,還是會占內存的。

二、內存淘汰管理機制Memory Management

    當內存占滿之後,redis提供緩存淘汰機制。

    redis.conf: maxmemory <bytes>

* noeviction:舊緩存永不過期,新緩存設置不了,返回錯誤 

* allkeys-lru:清除最少用的舊緩存,然後保存新的緩存(推薦使用)

* allkeys-random:在所有的緩存中隨機刪除(不推薦)

* volatile-lru:在那些設置了expire過期時間的緩存中,清除最少用的舊緩存,然後保存新的緩存

* volatile-random:在那些設置了expire過期時間的緩存中,隨機刪除緩存

* volatile-ttl:在那些設置了expire過期時間的緩存中,刪除即將過期的

Ⅱ 緩存擊穿互斥鎖 設置鎖的失效時間

  • 設置鎖的失效時間是自己設置的,它的過期時間會很短,最長不超過五分鍾

  • 緩存穿透是指查詢一個一定不存在的數據

  • 由於緩存是不命中時被動寫的,

  • 並且出於容錯考慮,如果從存儲層查不到數據則不寫入緩存,

  • 這將導致這個不存在的數據每次請求都要到存儲層去查詢,失去了緩存的意義。

  • 在流量大時,可能DB就掛掉了,

  • 要是有人利用不存在的key頻繁攻擊我們的應用,這就是漏洞。

  • 最常見的則是採用布隆過濾器

  • 將所有可能存在的數據哈希到一個足夠大的bitmap中,

  • 一個一定不存在的數據會被 這個bitmap攔截掉,

  • 從而避免了對底層存儲系統的查詢壓力。

  • 另外也有一個更為簡單粗暴的方法

  • 如果一個查詢返回的數據為空(不管是數 據不存在,還是系統故障),

  • 我們仍然把這個空結果進行緩存,但它的過期時間會很短,最長不超過五分鍾

熱點內容
比較便宜的雲伺服器 發布:2025-07-13 18:29:59 瀏覽:406
切換ftp 發布:2025-07-13 18:29:07 瀏覽:738
銳龍哪個配置最高畫質 發布:2025-07-13 18:22:34 瀏覽:196
壓縮機工作原理圖 發布:2025-07-13 18:10:15 瀏覽:39
黑暗追求者安卓怎麼聯機 發布:2025-07-13 18:10:07 瀏覽:617
北大保安自學編程 發布:2025-07-13 18:09:58 瀏覽:858
java遞歸排列 發布:2025-07-13 18:02:43 瀏覽:473
輕量雲伺服器如何換成d盤 發布:2025-07-13 17:58:45 瀏覽:931
重置騰訊雲伺服器時間 發布:2025-07-13 17:54:55 瀏覽:326
aes256java加密 發布:2025-07-13 17:54:46 瀏覽:710