Rails: размер кэша хранилища файлов управления
документация для файлового кэша в rails говорит:
обратите внимание, что кэш будет расти, пока диск не будет заполнен, если вы периодически удалять старые записи.
к сожалению, это не дает никакой информации о том, как периодически очищать старые записи. Устанавливает ли соответствующее значение для :expires_in
выполните задание или есть какая-то другая черная магия за очисткой кэша?
кроме того, документация дает возможность ограничить размер кэша на основе памяти:
config.cache_store = :memory_store, { size: 64.megabytes }
это также работает для файлов кэша? И что еще более важно, что происходит, когда кэш растет ниже этого предела размера? Удаляет ли он старые кэшированные значения или создает какое-то исключение?
спасибо заранее, danijoo
2 ответов
да ограничение применяется и в случае файлового кэша. И да значение :expires_in
сделает работу.
когда этот предел будет достигнут, больше ничего не будет кэшироваться. Исключение не создается.
экспериментируя с кешем FileStore, я обнаружил, что :expires_in
опции работают, но :size
нет.
если вы хотите указать параметры, то вам также нужно указать путь, попробуйте со следующим примером:
config.cache_store =: file_store, Rails.корень.join ('tmp',' cache'), {expires_in: 1.минута }
введите код в config/application.rb
и не забудьте активировать кэш в config/environments/development.rb
и перезапустить приложение.
P. S. Я использую 1 минута легко сделать быстрый тест.