使用 redis-rails,如何删除会话缓存以外的所有内容?

with redis-rails, how to delete all but sessions cache?

Rails 5.1 应用,redis-rails gem 5.0.2

宝石文件

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)

我可以采用什么命令、配置、方法来解决这个问题? 谢谢你。

也许你可以获得所有缓存键

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

并将其与 delete_entry 结合使用,不包括会话密钥。