Очищаются ли переменные класса ruby ​​между запросами Rails? - PullRequest
3 голосов
/ 15 марта 2012

Для механизма кеширования для моего приложения на Rails я устанавливаю переменную класса в методе экземпляра, к которому затем осуществляется доступ в методе класса. Это работает, но я немного параноик, что может быть утечка памяти. Поэтому кто-нибудь знает, очищаются ли переменные класса Rails @@ между запросами? Я попробовал это (в моей локальной среде разработки), но вы никогда не знаете.

Ответы [ 2 ]

6 голосов
/ 15 марта 2012

Они не очищаются, если у вас есть config.cache_classes = true, что обычно имеет место в производстве.

3 голосов
/ 15 марта 2012

Использование переменных класса не очень хорошая идея, потому что у вас может быть более одного параллельного процесса Rails (и каждый процесс не будет делить переменные класса с другими). ​​

Рассмотрите возможность использования некоторого встроенного механизма для кэширования (использование memcached или чего-то еще).

...