ActiveSupport :: Cache :: MemoryStore是否通过Passenger清除了rails重启?

时间:2009-12-29 18:29:41

标签: ruby-on-rails passenger activesupport

我很确定它确实如此,但我想仔细检查,因为我不确切知道Passenger如何重启rails应用程序。所以,如果我有类似的东西:

Rails.cache.fetch(:my_obj){MyObj.first}

重启后是否会清除所有缓存(这是我的希望)?

2 个答案:

答案 0 :(得分:0)

如果您正在使用MemoryStore,那么当Passenger重新启动时,此缓存将消失。

另外,来自API的引用:

  

如果您正在运行多个Ruby   Rails服务器进程(即   如果你正在使用mongrel_cluster   或Phusion Passenger),那意味着   您的Rails服务器进程   实例将无法共享缓存   彼此的数据。

答案 1 :(得分:0)

您可以使用memcached来解决此问题。使用memcached,您甚至可以在重新启动应用服务器后使用缓存数据。但是,如果重新启动memcached,则需要再次缓存数据。