redis如何设置定时过期_redis 设置过期时间[通俗易懂]

redis如何设置定时过期_redis 设置过期时间[通俗易懂]1、设置过期时间功能:即对存储在redis数据库中的值可以设置一个过期时间。作为一个缓存数据库,这是非常实用的。如我们一般项目中的token或者一些登录信息,尤其是短信验证码都是有时间限制的,按照传统的数据库处理方式,一般都是自己判断过期,这样无疑会严重影响项目性能。我们setkey的时候,都可以给一个expiretime,就是过期时间,通过过期时间我们可以指定这个key可以…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

1、设置过期时间功能:即对存储在 redis 数据库中的值可以设置一个过期时间。作为一个缓存数据库,这是非常实用的。如我们一般项目中的 token 或者一些登录信息,尤其是短信验证码都是有时间限制的,按照传统的数据库处理方式,一般都是自己判断过期,这样无疑会严重影响项目性能。我们 set key 的时候,都可以给一个 expire time,就是过期时间,通过过期时间我们可以指定这个 key 可以存活的时间。

2、redis删除过期key策略:假设你设置了一批 key 只能存活1个小时,那么接下来1小时后,redis是怎么对这批key进行删除的?

定期删除+惰性删除

(1)定期删除:redis默认是每隔 100ms 就随机抽取一些设置了过期时间的key,检查其是否过期,如果过期就删除。注意这里是随机抽取的。为什么要随机呢?假如 redis 存了几十万个 key ,每隔100ms就遍历所有的设置过期时间的 key 的话,就会给 CPU 带来很大的负载!

(2)惰性删除:定期删除可能会导致很多过期 key 到了时间并没有被删除掉。所以就有了惰性删除。假如过期key,靠定期删除没有被删除掉,还停留在内存里,除非系统去查一下那个 key,才会被redis给删除掉。这就是所谓的惰性删除。

注意:但是仅仅通过设置过期时间还是有问题的。我们想一下:如果定期删除漏掉了很多过期 key,然后你也没及时去查,也就没走惰性删除,此时会怎么样?如果大量过期key堆积在内存里,导致redis内存块耗尽了。怎么解决这个问题呢?

需要引入redis 内存淘汰机制的概念。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189230.html原文链接:https://javaforall.net

(0)
上一篇 2026年4月14日 上午11:25
下一篇 2026年4月14日 上午11:31


相关推荐

  • AES加密过程详解

    AES加密过程详解AES 算法流程 AES 加密过程涉及到 4 种操作 分别是字节替代 行移位 列混淆和轮密钥加 解密过程分别为对应的逆操作 由于每一步操作都是可逆的 按照相反的顺序进行解密即可恢复明文 加解密中每轮的密钥分别由初始密钥扩展得到 算法中 16 个字节的明文 密文和轮密钥都以一个 4×4 的矩阵表示 注意 前 9 次的加密过程是一样的 而最后一次的加密过程是没有列混淆的 1 字节替换 字节代替

    2026年3月19日
    3
  • android完整项目源码_android完整项目源码

    android完整项目源码_android完整项目源码下载地址最后更新共计113个分类5177套源码29.2GB。卷新加卷的文件夹PATH列表卷序列号为000002005E7A:7F30F:.├─前台界面│├─3D标签云卡片热门││AndroidTagCloudView云标签的灵活运用.rar││Android实现标签拖动改变位置.rar││android流式布局和热门标签.zip││…

    2022年8月10日
    25
  • [数据库] 第一范式、第二范式、第三范式、BC范式

    [数据库] 第一范式、第二范式、第三范式、BC范式数据描述术语对应表关键码完全依赖、部分依赖、传递依赖第一范式、第二范式、第三范式

    2022年5月24日
    37
  • FAT文件系统原理

    FAT文件系统原理

    2022年4月4日
    37
  • YOLO v3算法详解「建议收藏」

    YOLO v3算法详解「建议收藏」论文地址:YOLOv3:AnIncrementalImprovementYOLO算法详解,YOLOv2算法详解1.TheDeal接下来,从头梳理整个网络,如果对YOLO和YOLOv2不熟悉,可以看一下我之前的博客。1.1BoundingBoxPredictionYOLOv3沿用YOLO9000预测boundingbox的方法,通过尺寸聚类确定anchorbox。对每个boundingbox网络预测4个坐标偏移。如果featuremap某一单元偏移图片左上角坐标

    2022年6月28日
    34
  • ArcGIS地图投影

    ArcGIS地图投影问题 shp 矢量原始数据坐标信息如下图 leaflet 或者 cesium 进行数据可视化必须是经纬度地理坐标 需要进行坐标转换 若地理坐标为 WGS84 通常进行定义投影到 WGS84 坐标下就可以了 即为反投影 现在这个方法行不通 我也很奇怪 所以通过要素中投影到 WGS84 地理坐标 即将坐标转换到 WGS84 坐标 并去掉投影坐标坐标 转为经纬度地理坐标

    2026年3月16日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号