我在一个服务器上部署了一个Rails 6.1应用程序,该服务器承载了我的临时环境和生产环境,并且有一个唯一的memcached示例。
如果我不命名所有的缓存键,我相信在生产和暂存中会生成相同的键。在我的临时环境上进行测试将影响生产。
我知道我可以为每个调用传递一个命名空间:
Rails.cache.write("some-key", "some-value", namespace: Rails.env)
但它很容易出错。
我正在寻找一个全局配置说,所有的关键字应该与环境命名空间。
我在一个服务器上部署了一个Rails 6.1应用程序,该服务器承载了我的临时环境和生产环境,并且有一个唯一的memcached示例。
如果我不命名所有的缓存键,我相信在生产和暂存中会生成相同的键。在我的临时环境上进行测试将影响生产。
我知道我可以为每个调用传递一个命名空间:
Rails.cache.write("some-key", "some-value", namespace: Rails.env)
但它很容易出错。
我正在寻找一个全局配置说,所有的关键字应该与环境命名空间。
2条答案
按热度按时间7qhs6swi1#
将全局配置放入config/environments/{yourenvironment}.rb中,如下所示:
3phpmpom2#
你可以很容易地做到这一点,像这样使用字符串插值。
最好的方法是始终为临时环境和生产环境使用单独的缓存示例。