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

查緩存時間過期設多長

發布時間: 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-04-29 17:39:25 瀏覽:272
手機頁面編譯 發布:2025-04-29 17:15:47 瀏覽:58
使用騰訊雲伺服器需要藉助電腦嗎 發布:2025-04-29 16:51:08 瀏覽:96
android長按listview 發布:2025-04-29 16:50:59 瀏覽:102
Win7如何查伺服器 發布:2025-04-29 16:50:53 瀏覽:888
jquery調用java 發布:2025-04-29 16:13:10 瀏覽:240
海康網頁訪問 發布:2025-04-29 16:11:37 瀏覽:397
adhoc什麼文件夾 發布:2025-04-29 16:09:58 瀏覽:908
手機登錄密碼初始密碼是多少 發布:2025-04-29 16:06:21 瀏覽:185
醫用活性炭存儲期限 發布:2025-04-29 15:57:11 瀏覽:934