在Rails请求之间是否清除了ruby类变量?

时间:2012-03-15 13:18:34

标签: ruby-on-rails ruby memory-leaks

对于我的Rails应用程序的缓存机制,我在实例方法中设置一个类变量,然后在类方法中进行访问。这有效,但我有点偏执,可能会有内存泄漏。因此,是否有人知道Rails @@类变量是否在请求之间被清除?我已尝试过(在我的本地开发环境中),但你永远不知道。

2 个答案:

答案 0 :(得分:6)

如果您有config.cache_classes = true,他们就不会被清除,这通常是生产中的情况。

答案 1 :(得分:3)

使用类变量并不是一个好主意,因为您可能有多个并发Rails进程(并且每个进程都不会与其他进程共享类变量)。

考虑使用一些内置的缓存机制(使用memcached或其他东西)。