gpt4 book ai didi

redis - Redis如何让键过期?

转载 作者:IT王子 更新时间:2023-10-29 05:54:27 31 4
gpt4 key购买 nike

Redis是如何实现key过期的?来自 here我了解到 Redis 会存储 key 的过期时间,但具体是如何实现的?

最佳答案

简而言之 - 对于每个 Redis 对象,都有一个过期时间。除非您将对象设置为过期,否则该时间为“永不”。

现在,过期机制本身是半惰性的。惰性过期意味着在对象被读取之前您实际上并没有使它们过期。当读取一个对象时,我们检查它的过期时间戳,如果它是过去的,我们什么都不返回,并在我们到达它时删除该对象。但问题是,如果一个键从未被触及,它就会无缘无故地占用内存。

所以Redis增加了第二层随机主动过期。它只是一直读取随 secret 钥,当触及过期 key 时,它会根据惰性机制删除。这不会影响过期行为,它只是添加了过期 key 的“垃圾收集”。

当然实际的实现比这复杂,但这是主要思想。

您可以在这里阅读更多相关信息:http://redis.io/commands/expire

事件到期周期的源代码可以在这里找到:https://github.com/antirez/redis/blob/a92921da135e38eedd89138e15fe9fd1ffdd9b48/src/expire.c#L98

关于redis - Redis如何让键过期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36172745/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com