2013-08-11 2 views
4

Я работаю над сайтом mashup и хотел бы ограничить количество выборок, чтобы очистить исходные сайты. Существует, по существу, один бит данных, который мне нужен, целое число и хотел бы кэшировать его с определенным периодом истечения срока действия.Кэш с ключами истечения

Чтобы уточнить, я хочу только кэшировать целое число, а не весь источник страницы.

Есть ли рубин или рельсы или драгоценный камень, который уже выполняет это для меня?

ответ

9

Да, есть ActiveSupport::Cache::Store

Абстрактный класс хранилища кэша. Существует несколько хранилищ кеша , каждый из которых имеет свои дополнительные функции. См. Классы в модуле ActiveSupport :: Cache, например. ActiveSupport :: Кэш :: MemCacheStore. В настоящее время MemCacheStore является самым популярным хранилищем кешей для крупных производственных сайтов.

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

ActiveSupport :: Cache :: Store может хранить любой сериализуемый объект Ruby.

http://api.rubyonrails.org/classes/ActiveSupport/Cache/Store.html

cache = ActiveSupport::Cache::MemoryStore.new 
cache.read('Chicago') # => nil 
cache.write('Chicago', 2707000) 
cache.read('Chicago') # => 2707000 

Что касается времени истечения срока, это может быть сделано путем передачи времени в качестве параметра инициализации

cache = ActiveSupport::Cache::MemoryStore.new(expires_in: 5.minutes) 

Если вы хотите кэшировать значения с различным временем истечения срока действия , вы также можете установить это при записи значения в кэш

cache.write(key, value, expires_in: 1.minute) # Set a lower value for one entry 

 Смежные вопросы

  • Нет связанных вопросов^_^