2012-03-15 34 views
2

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

回答

5

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

3

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

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