redis面试题

分享一道字节面试题

redis有个key设置了ttl为5秒,然后redis宕机了超过5秒,超过了ttl,那么redis重启后这个key还会存在吗?

补充:redis做了aof持久化

#字节##牛客解忧铺#
全部评论
分情况,如果崩溃恢复的 redis 是主节点或单机状态,加载 rdb/aof 的时候会主动检查并剔除已经过期的 key;如果崩溃恢复的 redis 是集群里的从节点,那就不会主动删除,而是会等待主节点同步一条 del 命令来完成 key 的剔除(从节点不会触发惰性删除,会使用自己的逻辑时钟来判断消息是否可能过期,如果过期了就暂时将其隐藏,等待主节点的 del 消息来完成实际删除)。
4 回复 分享
发布于 2024-12-15 17:04 浙江
嘿嘿,这位朋友,你提出了一个很有意思的Redis面试题呢!🤓 当Redis设置了TTL(生存时间),如果服务器在TTL过期之前宕机,并且开启了AOF(Append Only File)持久化,那么重启后这个key的命运取决于AOF文件的写入情况哦。 如果是AOF持久化,Redis重启时会通过AOF文件来恢复数据。如果在key过期之前,Redis已经将这个key的设置操作写入到了AOF文件中,那么重启后这个key仍然会存在,即使它的TTL已经过期了。但是,如果在key过期后才写入AOF,那么重启后这个key就不会存在了。 怎么样,这个解释对你有帮助吗?如果你还有其他关于Redis或者面试的问题,记得点击我的头像给我发私信哦,我会尽力帮你解答的!💌💬🐮
1 回复 分享
发布于 2024-11-13 09:46 AI生成
gpt回答:重启载入时,会重新写入这些过期数据的指令,但是如果已经过期,又会被立刻删除
点赞 回复 分享
发布于 2024-11-14 14:02 北京
个人见解,这个题有点意思,如果做了aof持久化,那么考虑到在设置过期时间的时候redis到底怎么执行的这个命令。过期时间的设置,实际上写入的是一个currentTime+TTL的绝对时间,所以宕机之后再恢复,这个key已经过期了,删除没删除看删除策略。如果是rdb策略,如果这个设置的时候刚好在间隔时间内,这个操作没有被记录(过期时间没有被保存),那么宕机恢复之后这个key就没有过期。如果过期时间被保存了,那么就跟aof类似
点赞 回复 分享
发布于 2024-11-13 10:44 四川

相关推荐

2025-12-12 19:01
南京航空航天大学 C++
秋招没咋投,准备 wxg 转正之后摆烂了。结果不堪字节 HR 的骚扰还是面了一下字节。之前想去字节的时候怎么面都挂。现在想着随便面一下结果三面技术面都意外顺利还有加面。十月中旬字节发了意向,wxg 转正结果无响应。十月底字节拉了保温群,wxg 口头通过,系统显示考核中。十一月初和字节 ld 交流之后得知 base 居然能选海外,甚至能小 wlb 一下,wxg 无响应无人联系。十一月中旬把字节 base 转到了海外,wxg 流程灰了,一问超时忘处理了,过两天又变考核中了。十一月下旬字节换了海外 HR 对接,问了期望薪资,wxg 考核终于显示通过,无 HR 保温,无其他保温。十一月底给字节报了个天价,想吓吓他们,同时告诉微信字节要开了,微信无响应。同样十一月底字节 HR 告诉我确实给不到那么高,但是能拿期权补上,问能不能接受。微信无响应。同样十一月底字节 HR 告知了具体方案,符合预期。 微信无响应。十二月上旬催 wxg 不开我就盲拒了,wxg HR 火急火燎的打电话问情况,问期望。我给了一个不算夸张的总包数字,因为今年市场在涨,过了三天还不联系我,我再催,约时间下午打电话,非得在我给出的数字上压下去几万,微信又不差这点,为什么不能满足我,让我没有拒绝的理由呢?一番纠结抗争,求稳还是追求挑战,最终选择接受迎接新的挑战,因为堂吉诃德永远不会停下脚步!回想起来,在 wxg 谈薪的阶段,我认为并没有给予我一定的重视,即使 HR 表示我在实习期间的表现和之前的面评都很靠前。也没有感觉到想要争取我,虽然我表示拒了 offer 之后要给我加面委定 t6 再涨,但我三个月没面试让我面面委那就是白给,还是算了。有缘再见了我亲爱的 wxg,再见了曾经的梦中情厂,再见亲爱的 mt,再见亲爱的朋友们。也再见,北京的一切。我想润了。秋招结束,卸载牛客,下一个三年,下一个五年,下一个十年后再来看看。
面试中的大熊猫爱吃薯...:我嫉妒得狗眼通红
点赞 评论 收藏
分享
狸猫换offer:神通广大的互联网
点赞 评论 收藏
分享
评论
3
31
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务