Как использовать Memcache и хранилище памяти по умолчанию в Ruby On Rails? - PullRequest
0 голосов
/ 13 января 2012

Я использую memcached (gem memcache-client) в своем приложении, но я хочу использовать хранилище кеша памяти одновременно.В настоящее время у меня есть application.rb:

config.cache_store = :mem_cache_store, {:namespace => "my_namespace_#{Rails.env}"}

, и это прекрасно работает с такими командами, как Rails.cache.write(...)

Как я могу использовать ActiveSupport::Cache::MemoryStore для некоторых из моих моделейи в то же время использовать memcached по другим причинам, как я до сих пор?

Я знаю, что ActiveSupport::Cache.lookup_store вернет мне новый MemoryStore объект.Тем не менее, я не знаю, как продолжить с этого момента?Например, куда мне поместить эту команду?Где я могу хранить полученный объект?Как мне получить доступ к этому объекту позже из моего кода модели?Или я пойду совершенно другим путем?

Заранее спасибо за помощь.

1 Ответ

2 голосов
/ 13 января 2012

Rails.cache - это просто кэш-хранилище, созданное для вашего удобства.Ничто не мешает вам делать что-то вроде

::MEMORY_STORE = ActiveSupport::Cache::MemoryStore.new

, а затем, когда вы захотите использовать этот магазин вместо Rails.cache, вы сделаете

MEMORY_STORE.fetch('some_key') {}

Хотя, как прокомментировал @leonardoborges, яЯ не уверен, почему вы хотели бы сделать это

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...