在Reports#index
的视图中,我缓存了一个像这样的片段:
- cache("#{@country}-#{@category}-#{@benchmark}-#{@status}") do
请注意,这四个变量是字符串,而不是模型对象,所以它们在触摸时不会自动失效。
要使此缓存的每个副本到期,我是否必须为expire_fragment
,@country
,@category
的可能值的cocacen生成的每个字符串调用@benchmark
和@status
?或者expire_fragment reports_path
会这样做吗?
很抱歉,API文档对此并不是很清楚,并且它不是那种容易,经过严格测试的类型。
答案 0 :(得分:0)
你确实需要单独使每个片段到期 - 一般来说没有办法使一系列键过期(我认为memorystore支持regexp到期,但我不认为任何人在生产中使用它)。 / p>
您可能最好选择缓存密钥,以便在基础数据发生变化时进行更改。