Ruby on rails Rails.cache.clear返回nil

Ruby on rails Rails.cache.clear返回nil,ruby-on-rails,caching,Ruby On Rails,Caching,我有这个设置 config.cache\u store=:redis\u store,ENV['redis\u cache\u URL'] $ redis-cli 127.0.0.1:6379> set random_key 1 OK 现在我转到控制台并执行Rails.cache.clear,它返回nil 我仍然能够访问redis cli中的键随机键。它没有清除缓存 我无法读取Rails.cache返回的内容ruby/2.3.4/lib/ruby/gems/2.3.0/gems/rail

我有这个设置
config.cache\u store=:redis\u store,ENV['redis\u cache\u URL']

$ redis-cli
127.0.0.1:6379> set random_key 1
OK
现在我转到控制台并执行
Rails.cache.clear
,它返回nil

我仍然能够访问redis cli中的键
随机键
。它没有清除缓存

我无法读取Rails.cache返回的内容
ruby/2.3.4/lib/ruby/gems/2.3.0/gems/railties-4.2.8/lib/Rails.rb

Rails.cache.clear是否应该返回true?


如果我的理解有误,有人能帮我吗

redis cache
将数据存储在特定命名空间下

例如,如果您已根据配置了
redis store
,则缓存键将存储在
cache
命名空间下。这意味着,当您
Rails.cache.write(“random\u key”,“key”)
时,一个key
cache:random\u key
将出现在Redis中。因此,当您
Rails.cache.clear
时,只有
cache
命名空间下的键才会被删除


因此,如果您在Redis中手动创建
random_key
Rails.cache.clear
将不会删除它。但是,如果您手动创建
缓存:random_key
,它会的。

谢谢您的详细解释:)如果您使用的是redis store,您还可以将命名空间传递给Rails.cache.clear(命名空间::yournamespace)