0

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

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

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

4

2 回答 2

0

如果您使用的是 MemoryStore,那么是的,当乘客重新启动时,此缓存将消失。

另外,来自 API 的引用:

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

于 2009-12-29T21:04:42.663 回答
0

您可以使用 memcached 来解决这个问题。使用 memcached,即使重新启动应用服务器,您也应该能够使用缓存的数据。但是,如果您重新启动 memcached,则需要再次缓存数据。

于 2009-12-29T21:08:34.150 回答