社区
王勇的课程社区_NO_2
Java架构师之路:带你直面面试官的连环炮
帖子详情
Redis的key自动过期的底层原理是什么?
牛仔码农@
2023-01-12 23:28:21
课时名称
课时知识点
Redis的key自动过期的底层原理是什么?
Redis的key自动过期的底层原理是什么?
...全文
97
回复
打赏
收藏
Redis的key自动过期的底层原理是什么?
课时名称课时知识点Redis的key自动过期的底层原理是什么?Redis的key自动过期的底层原理是什么?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Redis
缓存
Key
过期
原理和内存淘汰策略
Redis
通过(
Redis
字典通过哈希表来实现)来存储键的
过期
时间,字典的键是指向
Redis
Db的指针(使用指针可以避免浪费),字典的值是一个毫秒的时间戳,所以当前时间大于字典值的时候这个键就
过期
了,就可以对这个键进行删除(删除一个键不仅要删除
redis
Db数据库中的键,也要删除
过期
字典中的键)。通过pexpireat命令来设置
过期
时间的命令,其他命令最终也会转换成pexpireat。给一个键设置
过期
时间,就是将这个键的指针及给定的到期时间戳加到
过期
字典中。
redis
的
key
的
过期
原理以及
redis
的内存回收策略
过期
原理
过期
时间会不会被延长? 首先要明确一点,你不给
key
设置
过期
时间和有效期,这个
key
是一直存在的。除非调用del命令删除
过期
时间是不会被延长的; 剔除
过期
时间的命令:DEL, SET, GETSET 和所有的 *STORE 命令,这样就成永久的了 自增
key
中存储的值的 INCR , 向list中新增一个值 LPUSH, 或者修改 hash 域的值 HSET ,这些都不会修改
key
的
过期
时间。 可以通过命令( PERSIST)把
过期
时间清除,让
key
变成永久的
key
使用 RENA
7.
Redis
过期
策略底层是如何实现的?
如果我们对
key
设置了失效时间1分钟,1分钟后,
Redis
是如何对这个
key
进行删除的呢?
Redis
过期
策略采用的是惰性删除+定期删除策略。
Redis
中如何配置
key
的
过期
时间?他的是实现原理是什么?
设置
key
过期
时间的两种方式 EXPIRE
key
; SETEX
key
; -> String 实现机制
key
过期
的要进行删除 定期删除:每隔一段时间,执行一次
过期
key
的删除操作 惰性删除:当使用get,getset指令时无法获取数据时,判断
key
是否
过期
,
过期
后就先把
key
删除,在执行之后的操作
Redis
使用两种方式结合的形式 定期删除要注意执行频率和执行时长 定期删除会遍历每个database(默认16个,从0开始),检查当前库中的随机20个(默认),随机抽查
key
,如果有
过期
,则
Redis
原理:
key
过期
redis
key
设置了
过期
时间后,
redis
会通过两种方式来删除相应的
key
通过周期性任务来删除当访问
redis
key
时也会检查相应的
key
的
过期
时间认识了server.hz 的作用,可以配置
redis
服务器中serverCron函数的执行频率。
王勇的课程社区_NO_2
1
社区成员
126
社区内容
发帖
与我相关
我的任务
王勇的课程社区_NO_2
复制链接
扫一扫
分享
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章