当前位置: 首页 > news >正文

Redis对过期key的删除策略

假设设置了一批 key 只能存活 1 个小时,那么 1 小时后,redis 是怎么对这批 key 进行删除的?

定期删除 + 惰性删除

定期删除:

redis是默认每隔100ms就随机抽取一些设置了过期时间的key,检查是否过期,如果过期就删除。

注意:这里是随机抽取, 这样即使在redis中存储了很多数据的情况下,依然能够保证性能.

惰性删除:

懒惰删除就如字面意思,每次在获取key的时候,会排查这个key是否过期,如果过期了就删除。

Redis内存淘汰机制:

定期删除漏掉了许多过期的key,同时也没有去及时排查,也就没触发惰性删除,这时,大量的过期key就会堆积在内存里,导致redis内存块耗尽。 而解决这个问题的办法就是redis内存淘汰机制。

Redis提供6种数据淘汰策略

  1. volatile-lru:从已经设置了过期时间的数据集中,挑选 最近最少使用 的数据淘汰
  2. volatile-ttl:从已经设置了过期时间的数据集中,挑选 即将过期 的数据淘汰
  3. volatile-random:从已经设置了过期时间的数据集中,随机 挑选数据淘汰
  4. allkeys-lru:从所有数据集中,挑选 最近最少使用 的数据淘汰 (最常用)
  5. allkeys-random:从所有数据集中,随机 挑选数据淘汰
  6. no-eviction:禁止驱逐数据,也就是说当内存不足以容纳新写入数据时,新写入操作会报错。

4.0版本之后增加了以下两种:

  1. volatile-lfu:从已经设置了过期时间的数据集中,挑选 最不经常使用 的数据淘汰
  2. allkeys-lfu:从所有数据集中,挑选 最不经常使用 的数据淘汰

Redis事务

Redis的事务其实就是将一组命令打包,然后一次性执行完,期间不允许被打断,执行完毕后才能去执行其他客户端的命令。
所以Redis的事务满足:

  • 不支持回滚的原子性
  • 一致性
  • 隔离性(因为是串行的)

相关文章:

Redis对过期key的删除策略

假设设置了一批 key 只能存活 1 个小时,那么 1 小时后,redis 是怎么对这批 key 进行删除的? 定期删除 惰性删除 定期删除: redis是默认每隔100ms就随机抽取一些设置了过期时间的key,检查是否过期,如果过期就删除。…...

http的body格式

body数据都通常放在 HTTP 请求的 body 部分。 在 HTTP 请求中,Content-Type 头用于指示 body 中的数据格式。例如,对于 x-www-form-urlencoded 格式的数据,通常会设置 Content-Type: application/x-www-form-urlencoded,而对于 fo…...

Java Web开发从0到1

文章目录 总纲第1章 Java Web应用开发概述1.1 程序开发体系结构1.1.1 C/S体系结构介绍1.1.2 B/S体系结构介绍1.1.3 两种体系结构的比较1.2 Web应用程序的工作原理1.3 Web应用技术1.3.1 客服端应用技术1.3.2 服务端应用技术1.4 Java Web应用的开发环境变量1.5 Tomcat的安装与配置…...

002——编译鸿蒙(Liteos -a)

目录 一、鸿蒙是什么 二、Kconfig 2.1 概述 2.2 编译器 2.3 make使用 本文章引用了很多韦东山老师的教程内容,算是我学习过程中的笔记吧。如果侵权请联系我。 一、鸿蒙是什么 这里我补充一下对鸿蒙的描述 这张图片是鸿蒙发布时使用的,鸿蒙是一个很…...

Ansible--详解

目录 一、Ansible核心组件 二、Ansible配置 1.配置案例 (1)管理安装ansible (2)管理机分发公匙 (3)配置管理 (4)测试连接 2.命令说明 三、playbook剧本编写 1.playbook模板…...

Django和Mysql数据库

Django学习笔记 Django和Mysql数据库 Django开发操作数据库更简单,内部提供了ORM框架。 1)安装mysqlclient pip3 install mysqlclient2)ORM ORM可以帮助我们做两件事: 1.创建、修改、修改数据库中的表(不用写sql语句)[不能创…...

[蓝桥杯]-最大的通过数-CPP-二分查找、前缀和

目录 一、题目描述: 二、整体思路: 三、代码: 一、题目描述: 二、整体思路: 首先要知道不是他们同时选择序号一样的关卡通关,而是两人同时进行两个入口闯关。就是说两条通道存在相同关卡编号的的关卡被通…...

安卓UI面试题 26-30

26. Window和DecorView是什么?DecorView又是如何和Window建立联系的?Window是 WindowManager 最顶层的视图,它负责背景(窗口背景)、Title之类的标准的UI元素, Window是一个抽 象类,整个Android系统中, PhoneWindow是 Window的唯一实现类。 至于 DecorView,它是一个顶级 …...

CPU、GPU、IPU、NPU、TPU、LPU、MCU、MPU、SOC、DSP、FPGA、ASIC、GPP、ECU、

CPU: 中央处理器(Central Processing Unit)是一块超大规模的集成电路,是一台计算机的运算核心(Core)和控制核心( Control Unit)。 它的功能主要是解释计算机指令以及处理计算机软件…...

鸿蒙车载原生开发,拓展新版图

一天内连发“五弹”、HiCar 4.0首次上车 华为鸿蒙狂扩“汽车朋友圈”-上游新闻 汇聚向上的力量 3月15日,在“华为云&华为终端云服务创新峰会2024”上,华为首批汽车行业伙伴广汽传祺、岚图汽车、零跑汽车、凯翼汽车加入鸿蒙生态合作,华为…...

15届蓝桥杯第二期模拟赛题单详细解析

文章目录 🧡🧡t1_求余🧡🧡思路代码 🧡🧡t2_灌水🧡🧡思路代码 🧡🧡t3_字符显示🧡🧡思路代码 🧡🧡t4_区间最大和…...

mysql统计数据库大小

ps:亲测可行,时间2024-03-15 15:18 mysql统计数据库大小 要统计MySQL数据库的大小,你可以使用以下SQL查询: SELECT table_schema AS "Database",ROUND(SUM(data_length index_length) / 1024 / 1024, 2) AS "Size (MB)"FROM info…...

centos防火墙firewall-cmd限定特定的ip访问

文章目录 firewall-cmd是什么?启动firewalld服务查看默认区域关闭端口访问添加富规则firewall-cmd的区域概念firewall-cmd的常用选项通用选项:状态选项:永久选项:区域选项: firewall-cmd是什么? firewall-…...

创维汽车与创维光伏储能亮相2024上海AWE,感受制造业的升级变迁

2024年3月14日,中国家电及电子消费博览会在上海正式召开。相比往届展会,2024上海AWE进驻更多行业头部力量,出展更多尖端科技,蕴含更深行业思考。创维光伏储能及乘载更先进智驾科技的创维汽车亮相此次展会。 消费电子的革新不断影响…...

Kafka配置SASL_PLAINTEXT权限。常用操作命令,创建用户,topic授权

查看已经创建的topic ./bin/kafka-topics.sh --bootstrap-server localhost:9092 --list 创建topic 创建分区和副本数为1的topic ./bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --topic acltest --partitions 1 --replication-factor 1 创建kafka用户 …...

[Java、Android面试]_05_内存泄漏和内存溢出

本人今年参加了很多面试,也有幸拿到了一些大厂的offer,整理了众多面试资料,后续还会分享众多面试资料。 整理成了面试系列,由于时间有限,每天整理一点,后续会陆续分享出来,感兴趣的朋友可关注收…...

MySQL-HMA 高可用故障切换

本章内容: 了解MySQL MHA搭建MySQL MHAMySQL MHA故障切换 1.案例分析 1.1.1案例概述 目前 MySQL 已经成为市场上主流数据库之一,考虑到业务的重要性,MySQL 数据库 单点问题已成为企业网站架构中最大的隐患。随着技术的发展,MHA…...

深度学习 精选笔记(11)深度学习计算相关:GPU、参数、读写、块

学习参考: 动手学深度学习2.0Deep-Learning-with-TensorFlow-bookpytorchlightning ①如有冒犯、请联系侵删。 ②已写完的笔记文章会不定时一直修订修改(删、改、增),以达到集多方教程的精华于一文的目的。 ③非常推荐上面(学习参考&#x…...

深度学习 Day27——J7对于ResNeXt-50算法的思考

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 | 接辅导、项目定制🚀 文章来源:K同学的学习圈子 文章目录 前言问题分析 前言 关键问题:ResNeXt-50中conv_shortcutFalse时…...

华为配置敏捷分布式SFN漫游实验

配置敏捷分布式SFN漫游示例 组网图形 图1 配置敏捷分布式SFN漫游示例组网图 组网需求数据规划配置思路配置注意事项操作步骤配置文件 组网需求 某医院通过部署敏捷分布式网络给医护人员提供WLAN接入服务,以满足医护人员办公的最基本需求。管理员希望终端在覆盖区域内…...

在CentOS7服务器上装Win10双系统,我踩过的坑和保姆级避坑指南

在CentOS7服务器上部署Win10双系统的实战避坑指南 当开发环境需要同时运行Linux服务与Windows专属应用时,双系统成为刚需。但服务器与家用PC的硬件架构差异,会让安装过程暗藏无数"深坑"。本文将分享我在生产环境中为戴尔PowerEdge R740服务器部…...

告别训练慢和显存焦虑:RTMDet实战中那些你没注意到的工程优化细节(附代码)

RTMDet实战优化:从训练加速到显存管理的深度解析 在目标检测领域,效率与精度的平衡一直是工程师们面临的永恒挑战。当我们从论文走向实际项目时,那些未被充分讨论的工程细节往往成为决定成败的关键。RTMDet作为新一代实时检测器的代表&#x…...

远程为海外公司工作的真实体验:钱多事少但有时差——一个软件测试工程师的深度拆解

“月薪五万,睡到自然醒,在海边一边晒太阳一边测Bug。” 这是许多同行对“为海外公司远程工作”的美好想象。但当梦想照进现实,尤其是在我们软件测试这个领域,画面的颗粒度会变得极其复杂。它并非简单的“钱多事少离家近”&#xf…...

解决Arm Compiler 5与6混合编译的链接警告问题

1. 问题现象解析当使用Arm Compiler 5工具链链接包含Arm Compiler 6构建对象文件的项目时,开发者常会遇到如下警告信息:Warning: L6418W: Tagging symbol __tagsym$$used.0 defined in .obj() is not recognized在包含MDK-Middleware组件的项目中&#x…...

90%的小程序死于“搜不到”:微信搜索排名优化全拆解

在微信生态里,小程序早已不是“有没有”的问题,而是“能不能被找到”的问题。用户搜索关键词时,你的小程序排在第几位,直接决定了流量的天花板。很多人以为排名靠运气,其实背后有一套可复制的优化逻辑。一、名称是最大…...

图片去水印怎么做?2026年最全图片去水印工具推荐与方法盘点

在日常工作和生活中,我们常常会遇到带有水印的图片——无论是社交平台的截图、素材库的图片,还是从各类网站下载的资源。水印虽然保护了原作者的权益,但有时也会影响我们对内容本身的使用。那么,图片去水印有哪些实用方法&#xf…...

文献速吞兽:基于LangChain的论文辅助阅读智能体系统设计与实现

🧑‍💻 博主介绍 & 诚邀关注 作者:专注于 Java、Python、前端开发的技术博主 | 全网粉丝 30 万 在校期间协助导师完成毕业设计课题分类、论文格式初审及代码整理工作;工作后持续分享毕设思路,助力毕业生顺利完成…...

B站直播神器:神奇弹幕全方位操作指南

B站直播神器:神奇弹幕全方位操作指南 【免费下载链接】MagicalDanmaku 本仓库及所有相关项目已永久停止开发、维护和任何形式的分发。 项目地址: https://gitcode.com/gh_mirrors/bi/MagicalDanmaku 直播难题:为什么你需要智能弹幕助手 每个B站主…...

Donut端到端票据识别:小票图像直出结构化JSON

1. 项目概述:一张小票,如何让AI“看懂”并结构化输出?你有没有试过把超市小票拍张照,想让手机自动提取“总金额:89.50”“商品:牛奶2”“时间:2024-03-12 18:23”这些信息?不是OCR识…...

Unity+C#开发万人MMO服务器的实战架构与同步优化

1. 这不是“写个服务器”那么简单:先撕开“万人在线”的真实含义很多人看到“UnityC#开发万人MMO服务器”这个标题,第一反应是:“哦,用Unity做客户端,C#写个后端,Socket连一连,再加个数据库&…...