Redis的过期策略和内存淘汰策略

news/2024/10/21 23:02:44/

Redis 的过期策略和内存淘汰策略是管理内存和数据有效性的两个重要机制。以下是对这两者的详细介绍:

过期策略

Redis 允许为键设置过期时间,当键的过期时间到达时,Redis 会自动将其删除。过期策略主要包括:

  1. 定期删除

    • Redis 会定期检查已设置过期时间的键,每隔一定时间(默认 100 毫秒)随机抽取一些键进行检查。如果发现其已过期,则删除这些键。
  2. 惰性删除

    • 每次访问键时,Redis 会检查这个键是否已过期。如果已过期,则将其删除,并返回 nil。
  3. 过期设置

    • 可通过 EXPIRE 命令设置键的过期时间,单位为秒;也可以使用 PEXPIRE 命令设置毫秒。

内存淘汰策略

当 Redis 的内存达到最大限制时,它会根据设置的内存淘汰策略来决定哪些数据可以被删除。这些策略包括:

  1. noeviction

    • 当内存达到限制时,禁止写入操作。读取操作仍然可以执行,返回错误。
  2. allkeys-lru

    • 从所有键中选择最近最少使用 (LRU) 的键进行删除,以为新写入操作腾出空间。
  3. volatile-lru

    • 仅从设置了过期时间的键中选择最近最少使用的键进行删除。
  4. allkeys-random

    • 从所有键中随机选择键进行删除。
  5. volatile-random

    • 仅从设置了过期时间的键中随机选择键进行删除。
  6. volatile-ttl

    • 仅从设置了过期时间的键中选择生存时间 (TTL) 最近的键进行删除。

总结

  • 过期策略 主要用于管理键的有效性,确保过期的键会被及时删除。
  • 内存淘汰策略 则在内存达到设定限制时决定删除哪些键以释放空间。

http://www.ppmy.cn/news/1538407.html

相关文章

【动物识别系统】Python+卷积神经网络算法+人工智能+深度学习+机器学习+计算机课设项目+Django网页界面

一、介绍 动物识别系统。本项目以Python作为主要编程语言,并基于TensorFlow搭建ResNet50卷积神经网络算法模型,通过收集4种常见的动物图像数据集(猫、狗、鸡、马)然后进行模型训练,得到一个识别精度较高的模型文件&am…

出海电商新怎样用海外云手机引流?

随着互联网行业的迅猛发展,出海电商、海外社交媒体营销以及游戏产业等领域对技术工具的需求不断增加。在这种趋势下,海外云手机作为一种新型解决方案,正在受到广泛关注。 特别是在出海电商中,平台如亚马逊、速卖通、eBay等通过结合…

Java 微服务网关详解

一、什么是微服务网关? 微服务网关是一个介于客户端与后端服务之间的中间层,它充当了所有服务请求的入口点。客户端无需直接与后端服务进行通信,而是通过网关完成请求的路由、过滤、安全认证等功能。其核心目标是简化客户端的调用逻辑&#…

Flutter平台嵌入器

When you build a Flutter app, it’s not just about the code you write in Dart and the Flutter framework. There’s also a crucial piece called the platform embedders that enable your Flutter app to run on different operating systems like Android, iOS, and s…

mysql查询2张表连接列名一样的情况

people表: person表: SELECT * FROM person LEFT JOIN people on people.idperson.id 查询的结果id(1)和name(1)说明列名重复 SELECT person.id,person.name,people.id as pid,people.name as pname FROM person LEFT JOIN people on people.idperso…

zookeeper kafka集群配置

一.下载安装包 地址:https://download.csdn.net/download/cyw8998/16579797 二.配置文件 zookeeper.properties dataDir/data/kafka/zookeeper_data/zookeeper # the port at which the clients will connect clientPort2181 # disable the per-ip limit on the…

项目计划书,项目经理日常文档,项目管理计划,项目总体实施计划,总体测试计划,总体运维计划,总体开发计划(word原件获取)

项目开发计划包括项目描述、项目组织、成本预算、人力资源估算、设备资源计划、沟通计划、采购计划、风险计划、项目过程定义及项目的进度安排和里程碑、质量计划、数据管理计划、度量和分析计划、监控计划和培训计划等。 软件资料清单列表部分文档: 工作安排任务书…

C#基础-面向对象的七大原则

目录 1.开放封闭原则(OCP) 2.单一职责原则(SRP) 3.依赖倒置原则(DIP) 4.里氏替换原则(LSP) 5.接口隔离原则(ISP) 6.合成复用原则(CRP&#…