gpt4 book ai didi

ruby-on-rails - Redis 中缓存的最佳 expire_in 值

转载 作者:IT王子 更新时间:2023-10-29 06:15:53 26 4
gpt4 key购买 nike

我想在我的 Rails 应用程序中使用 gem "redis-store" 作为缓存存储。与 memcached 不同,redis 不会清除未使用的 key ,但我可以在每个 key 上使用 EXPIRE 命令(通过 :expire_in 选项)来限制每个 key 的生命周期。

然后我想使用我模型的cache_key(包括idupdated_at)作为redis key的一部分,用于缓存。因此,当更新模型时,将创建新的缓存键,而永远不会使用旧的缓存键。

那么问题来了,选择哪个过期时间呢?如果设置得太小,它会消除缓存的好处,如果太长 - 它会用未使用的数据填充 redis,这可能(可能)会降低性能。中庸之道在哪里?

最佳答案

我建议使用 Redis 的 LRU 过期策略,让 Redis 自己过期最近最少使用的键。这样,您就不必自己担心 key 过期了。

按照您的建议使用模型的 cache_key 确实会在模型更改时生成新 key 。您的 View 将不再使用该模型的“旧”键,Redis 最终会将它们过期。

参见 http://redis.io/topics/config有关如何将 Redis 配置为 LRU 存储的信息。

关于ruby-on-rails - Redis 中缓存的最佳 expire_in 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14280724/

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