【问题标题】:with redis-rails, how to delete all but sessions cache?使用redis-rails,如何删除除会话缓存之外的所有内容?
【发布时间】:2019-07-17 14:36:13
【问题描述】:

Rails 5.1 应用,redis-rails gem 5.0.2

宝石文件

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

在生产中.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)

我可以采取哪些命令、配置和方法来解决这个问题? 谢谢你。

【问题讨论】:

标签: ruby-on-rails caching redis redis-rails


【解决方案1】:

也许你可以得到所有的缓存键

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-14
    • 1970-01-01
    • 1970-01-01
    • 2013-08-26
    • 2015-11-26
    • 2014-03-14
    • 1970-01-01
    相关资源
    最近更新 更多