4

我的应用程序具有允许管理员通过 GUI 更改 cache_store 配置的功能。然后新的配置将立即生效。

我的 production.rb 中的默认 cache_store:

config.cache_store = :memory_store

管理员可以选择更改为将 memcached 与 Dalli 存储一起使用。我试图改变 Rails.application.config.cache_store:

Rails.application.config.cache_store = :dalli_store, 'localhost:11211', 'localhost:11212'

但是 Rails.cache 没有改变:

Rails.cache
=> <#ActiveSupport::Cache::MemoryStore entries=0, size=0, options={}>

有没有办法做到这一点?

4

1 回答 1

4

缓存存储是在应用程序初始化期间设置的,并且不能在运行时更改 afaik。要实现您想要做的事情,您可以将缓存存储配置保存在配置文件中并重新启动整个应用程序。查看类似问题的答案以了解如何做到这一点。

免责声明:使用这种方法,如果配置错误,您可以轻松杀死应用程序。

于 2012-12-10T20:14:35.860 回答