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

查緩存時間過期設多長

發布時間: 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攔截掉,

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

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

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

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

熱點內容
sqlite存儲文件 發布:2025-04-09 04:40:52 瀏覽:499
有密碼的香煙如何打開 發布:2025-04-09 04:33:30 瀏覽:392
資料庫表模式 發布:2025-04-09 04:27:30 瀏覽:80
演算法求最值 發布:2025-04-09 04:17:42 瀏覽:771
全民k歌下載文件夾 發布:2025-04-09 04:16:05 瀏覽:310
讀取文件夾路徑怎麼寫 發布:2025-04-09 04:15:18 瀏覽:689
什麼是起始密碼子 發布:2025-04-09 03:58:15 瀏覽:890
java的依賴注入 發布:2025-04-09 03:55:58 瀏覽:232
win10怎麼設置電腦密碼 發布:2025-04-09 03:55:54 瀏覽:638
車載存儲exfat 發布:2025-04-09 03:34:36 瀏覽:433