с redis-rails, как удалить все, кроме кеша сессий? - PullRequest
0 голосов
/ 23 февраля 2019

Приложение Rails 5.1, гем redis-rails 5.0.2

Gemfile

gem "rails", "~> 5.1"
gem "redis-rails"

в production.rb

config.cache_store = :redis_store, ENV.fetch("REDISCLOUD_URL")

в session_store.rb

Rails.application.config.session_store :redis_store, servers: [ENV.fetch("REDISCLOUD_URL")]

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

Rails.cache.clear

.Тем не менее, он очищает все, и я не хочу удалять сеансы.

Я пробовал пространства имен, но нигде не могу найти большую часть документации (https://github.com/redis-store/redis-rails)

Какие команды, конфигурации, подход IМожно решить эту проблему? Спасибо.

1 Ответ

0 голосов
/ 23 февраля 2019

Может быть, вы можете получить все ключи кеша

Rails.cache.instance_variable_get(:@data).keys

и использовать его в сочетании с delete_entry , за исключением ключей сеанса.

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