提问人:jibai31 提问时间:10/12/2023 更新时间:10/15/2023 访问量:79
如何使用环境配置 Rails 缓存到命名空间缓存键?
How to configure Rails caching to namespace cache keys with the environment?
问:
我正在一个 Rails 6.1 应用程序上部署一个 Rails 6.1 应用程序,该服务器同时托管我的暂存和生产环境,并且有一个唯一的 memcached 实例。
如果我不对所有缓存键进行命名,我相信在生产和暂存中会生成相同的键。对暂存环境的测试将影响生产。
我知道我可以为每个调用传递一个命名空间:
Rails.cache.write("some-key", "some-value", namespace: Rails.env)
但它很容易出错。
我正在寻找一个全局配置,说所有键都应该与环境一起命名。
答:
0赞
Nikhil bhatt
10/13/2023
#1
您可以使用字符串插值轻松做到这一点。
Rails.cache.write("#{Rails.env}-some-key", "some-value")
最好始终为暂存和生产环境使用单独的缓存实例。
3赞
zaphodbln_
10/15/2023
#2
将全局配置放入 config/environments/{yourenvironment}.rb 中,如下所示:
config.cache_store = :mem_cache_store, {namespace: 'yourenvironment-...' }
评论
0赞
jibai31
10/16/2023
我最终做到了: config.cache_store = :mem_cache_store, { namespace: “#{Rails.env}/” }
评论