【redis使用場景——緩存——數據過期策略 】

redis使用場景——緩存——數據過期策略

  • 定期刪除(Active Expiration)
    • 1. 快速模式(Fast Expiration Cycle)
      • 工作流程:
      • 特點:
      • 優點:
    • 2. 慢速模式(Slow Expiration Cycle)
      • 工作流程:
      • 特點:
      • 優點:
  • 惰性刪除(Lazy Expiration)
    • 特點:
  • redis的過期刪除策略

定期刪除(Active Expiration)

Redis 會定期(默認每秒 10 次)隨機抽取一些設置了過期時間的 key,檢查它們是否過期,如果過期就刪除。

1. 快速模式(Fast Expiration Cycle)

工作流程:

  • Redis 每次事件循環(event loop)都會執行快速過期檢查

  • 從設置了過期時間的鍵中隨機抽取 20 個進行檢查

  • 刪除其中已過期的鍵

  • 如果發現超過 25% 的鍵已過期,則立即再抽取 20 個進行檢查(循環直到低于 25%)

特點:

  • 執行頻率高(每秒執行多次)

  • 每次檢查的鍵數量少

  • 執行時間短(不超過 1ms)

  • 主要處理即將過期的鍵

優點:

  • 對系統性能影響小
  • 能及時清理大部分過期鍵

2. 慢速模式(Slow Expiration Cycle)

工作流程:

  • 按數據庫逐個檢查(Redis 默認有 16 個數據庫)
  • 從過期字典(expires字典)中隨機抽取鍵進行檢查
  • 默認每次掃描 20 個鍵
  • 如果發現超過 25% 的鍵已過期,則繼續掃描
  • 每次慢速模式的總執行時間不超過 hz 配置的 25%(默認 hz=10,即 25ms)

特點:

  • 執行頻率低(默認每秒 1 次)
  • 每次檢查的鍵數量多
  • 執行時間較長(可配置,默認不超過 25ms)
  • 全面掃描所有過期鍵

優點:

  • 能清理更多過期鍵
  • 防止大量鍵堆積過期

惰性刪除(Lazy Expiration)

當客戶端嘗試訪問一個 key 時,Redis 會先檢查該 key 是否設置了過期時間,如果已過期則立即刪除并返回空。

特點:

只有在訪問時才會檢查過期,對不常訪問的 key,即使過期也可能長時間占用內存

redis的過期刪除策略

惰性刪除+定期刪除兩種策略進行配合使用

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/88863.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/88863.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/88863.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

智能體Manus和實在Agent的區別

在當今數字化時代,AI 已經深度融入我們的生活和工作。曾經,像 ChatGPT 這樣的傳統 AI,雖然能在很多方面給我們提供幫助,比如寫郵件時它妙筆生花,分析數據時頭頭是道,可卻在最后一步掉了鏈子 —— 它不會點擊…

Prism框架實戰:WPF企業級開發全解

以下是一個完整的WPF項目示例,使用Prism框架實現依賴注入、導航、復合命令、模塊化和聚合事件功能。項目結構清晰,包含核心功能實現: 項目結構 PrismDemoApp/ ├── PrismDemoApp (主項目) │ ├── Views/ │ │ ├── ShellView…

單片機學習筆記---AD/DA工作原理(含運算放大器的工作原理)

目錄 AD/DA介紹 硬件電路模型 硬件電路 運算放大器 DA原理 T型電阻網絡DA轉換器 PWM型DA轉換器 AD原理 逐次逼近型AD轉換器 AD/DA性能指標 XPT2046 XPT2046時序 AD/DA介紹 AD(Analog to Digital):模擬-數字轉換,將模擬…

matlab實現相控超聲波成像

相控超聲波成像仿真檢測探傷 數據接收 換能器開發 Phased Array Codes/Matlab Examples.pptx , 513230 Phased Array Codes/MATLAB M_files/delay_laws2D.m , 1027 Phased Array Codes/MATLAB M_files/delay_laws2D_int.m , 3290 Phased Array Codes/MATLAB M_files/delay_law…

Stable Diffusion入門-ControlNet 深入理解 第二課:ControlNet模型揭秘與使用技巧

大家好,歡迎回到Stable Diffusion入門-ControlNet 深入理解系列的第二課! 如果你還記得第一篇文章的內容 - 我們已經了解了 ControlNet 的基礎概念:它通過預處理器和模型兩個強力模塊,賦予了AI繪畫前所未有的精準控制。 還沒看過…

大數據時代UI前端的變革:從靜態展示到動態交互

hello寶子們...我們是艾斯視覺擅長ui設計、前端開發、數字孿生、大數據、三維建模、三維動畫10年經驗!希望我的分享能幫助到您!如需幫助可以評論關注私信我們一起探討!致敬感謝感恩! 在大數據時代,信息以前所未有的速度和規模增長。這種數據環境的變化,深…

引腳個數、引腳寬度、引腳之間距離

原圖: 最終效果圖如下: 1.讀取圖片并設置參數 read_image (Image, ic_pin) dev_set_draw (margin) dev_set_line_width (2) dev_get_window (WindowHandle) get_image_size (Image, Width, Height) 2.繪制提取的ROI區域 r:58 // 旋轉矩形的中心點坐標…

內網和外網有什么區別?如何將內網ip端口地址映射到外網用?

由于局域網的使用,區分出了內網和外網兩種概念。以路由器為核心,可以將多臺電腦組建成一個局域網,局域網之內的網絡便是內網。內網是有距離限制的,只有在路由器信號范圍內的電腦才能接入局域網,否則需要進行內網穿透技…

Git倉庫的原理理解

國內外主流的 Git 代碼托管平臺 (持續更新) - JetsungChan - 博客園 .gitignore文件講解( 忽略規則文件 )[重點] (主要目的是為了節省空間 , 不必要的文件不要管他 , 忽略掉) 重復文件的云儲存(只會上傳一份) (所以不要怕stm32每個工程文件 , 有幾十M , 全部上傳會太大 . 實際…

011 Linux進程

🦄 個人主頁: 小米里的大麥-CSDN博客 🎏 所屬專欄: Linux_小米里的大麥的博客-CSDN博客 🎁 GitHub主頁: 小米里的大麥的 GitHub ?? 操作環境: Visual Studio 2022 文章目錄 深入理解 Linux 進程管理一、管理哲學/本質:先描述&am…

星型模型(Star Schema)

在數據倉庫的體系概念中,星型模型(Star Schema)和雪花模型(Snowflake Schema)是兩種常見的數據模型,用于組織和結構化數據,以支持高效的查詢和分析。 今天我們先介紹星型模型(Star …

【RAG面試題】如何獲取準確的語義表示

目錄 回答模板 語義表示是干什么的? 如何獲取準確語義表示的關鍵步驟? 1. 選擇合適的 Embedding 模型 2. 正確的文本預處理與切分 3. 文本清洗與標準化 4. 構建合理的向量庫 5. 檢索質量驗證與優化 詳細知識點覆蓋 面試回答技巧 回答模板…

小程序 API 開發手冊:從入門到高級應用一網打盡

在移動互聯網浪潮中,小程序已經成為企業服務用戶的“第二戰場”。不論是微信小程序、支付寶小程序,還是抖音小程序,都在強調一個核心能力:快速響應用戶需求。而支撐小程序靈活運行和豐富功能的關鍵技術之一,正是小程序…

iwebsec靶場sqli注入(2)

??????06-寬字節注入 1,該漏洞的根本原因是字符集處理不一致(GBK雙字節特性)與不安全的轉義方式(addslashes)共同導致。構造基礎sql注入語句 1%df%27%20%23 漏洞原理 字符集設置:mysql_query("S…

小程序學習筆記:自定義組件創建、引用、應用場景及與頁面的區別

在微信小程序開發中,自定義組件是一項極為實用的功能,它能有效提高代碼的復用性,降低開發成本,提升開發效率。本文將深入剖析微信小程序自定義組件的各個關鍵方面,包括創建、引用、應用場景以及與頁面的區別&#xff0…

開發數字化綠色低碳園區系統:分階段實施指南

目錄 摘要 背景 核心模塊 階段性開發 分階段開發實施 第一階段(3-6個月):搭建核心骨架 第二階段(6-9個月):擴展功能 第三階段(9-12個月):深度定制 技術選型 注意事項 實施計劃表 小結 摘要 數字化綠色低碳園區系統通過物聯網、能源管理和數據分析等技術,…

智能實驗室革命:Deepoc大模型驅動全自動化科研新生態

自動化實驗執行 自動化實驗執行通過機器人技術與智能控制系統的深度融合,重構傳統實驗操作模式,其核心技術突破體現在以下層面: 1. ??多模態任務分解與執行架構?? 基于大模型的任務解析引擎可將復雜實驗流程分解為可執行的原子操作序列…

還在手動部署?用Jenkins+Docker+Git實現自動化CI/CD

“每次發版都要手動打包上傳,部署宕機了才發現出錯?” 你還在重復“開發提測-打包部署-驗證回歸”的流水線操作?明明可以一鍵搞定的流程,為何還在親力親為?是時候了解并掌握 自動化 CI/CD 的真正威力了! 手…

Stream流中間方法的使用

Stream流的中間方法詳解 Stream流的中間方法指那些返回新Stream的操作,允許鏈式調用。這些方法通常用于數據過濾、映射、排序等操作,不會觸發最終計算。 filter方法 filter用于篩選滿足條件的元素,接受一個Predicate函數式接口參數。 Lis…

華為云Flexus+DeepSeek征文|華為云ModelArts結合FeedMe:開啟AI驅動的RSS閱讀新時代

華為云FlexusDeepSeek征文|華為云ModelArts結合FeedMe:開啟AI驅動的RSS閱讀新時代 前言一、華為云ModelArts Studio平臺介紹1.1 ModelArts Studio介紹1.2 ModelArts Studio主要特點1.3 ModelArts Studio使用場景1.4 ModelArts Studio產品架構 二、FeedMe…