使用 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 结合使用,不包括会话密钥。
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 结合使用,不包括会话密钥。