gpt4 book ai didi

caching - 使用 redis 进行缓存,但使用 what 进行持久化

转载 作者:可可西里 更新时间:2023-11-01 11:13:53 25 4
gpt4 key购买 nike

我计划使用 redis 作为缓存,其中每个键都有一个过期集,我在 redis.conf 中使用了以下配置:

maxmemory 2gb
maxmemory-policy allkeys-lru

问题是如何将过期的 key 保存到另一个数据库,如 MongoDB(或任何可以将 key 存储在磁盘中的数据库)。要求如下:

1.当我查询一个“热键”(最近经常使用)时,如果redis有键,我可以很快从redis中得到结果,否则我可以从存储键的另一个数据库中得到键磁盘。2.每个键都有自己的生命周期。当redis中有key过期时,其他数据库应该存储过期的key。

"当Redis作为缓存使用这种方式时,如果应用还需要使用Redis作为存储,强烈建议创建两个Redis实例,一个作为缓存,这样配置,一个作为一个商店,根据您的持久性需求进行配置,并且只保存与缓存数据无关的 key 。”引用 http://redis.io/topics/config

我的问题是将过期 key 保存到另一个数据库(存储在磁盘中的 key )而不是 redis。

最佳答案

您需要启用 notify-keyspace-events http://redis.io/topics/notifications

并捕获过期/逐出事件。

然后使用“psubscribe”监听“del”事件并将这些键发送到另一个数据库。

关于caching - 使用 redis 进行缓存,但使用 what 进行持久化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15740362/

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