ruby-on-rails 如何在环境中配置Rails缓存到命名空间缓存键?

bq9c1y66  于 2023-10-21  发布在  Ruby
关注(0)|答案(2)|浏览(123)

我在一个服务器上部署了一个Rails 6.1应用程序,该服务器承载了我的临时环境和生产环境,并且有一个唯一的memcached示例。
如果我不命名所有的缓存键,我相信在生产和暂存中会生成相同的键。在我的临时环境上进行测试将影响生产。
我知道我可以为每个调用传递一个命名空间:

Rails.cache.write("some-key", "some-value", namespace: Rails.env)

但它很容易出错。
我正在寻找一个全局配置说,所有的关键字应该与环境命名空间

7qhs6swi

7qhs6swi1#

将全局配置放入config/environments/{yourenvironment}.rb中,如下所示:

config.cache_store = :mem_cache_store, {namespace: 'yourenvironment-...' }
3phpmpom

3phpmpom2#

你可以很容易地做到这一点,像这样使用字符串插值。

Rails.cache.write("#{Rails.env}-some-key", "some-value")

最好的方法是始终为临时环境和生产环境使用单独的缓存示例。

相关问题