Ruby on rails 使片段缓存过期的正确方法

Ruby on rails 使片段缓存过期的正确方法,ruby-on-rails,ruby,caching,Ruby On Rails,Ruby,Caching,在报告#索引的视图中,我缓存了如下片段: - cache("#{@country}-#{@category}-#{@benchmark}-#{@status}") do 请注意,这四个变量是字符串,而不是模型对象,因此它们不会在触摸时自动过期 要使此缓存的每个副本过期,我是否必须调用expire_fragment,以获取通过共同跟踪@country、@category、@benchmark和@status的可能值而生成的每个字符串?或者会使片段报告过期\u path会起作用吗 很抱歉,API文

报告#索引
的视图中,我缓存了如下片段:

- cache("#{@country}-#{@category}-#{@benchmark}-#{@status}") do
请注意,这四个变量是字符串,而不是模型对象,因此它们不会在触摸时自动过期

要使此缓存的每个副本过期,我是否必须调用
expire_fragment
,以获取通过共同跟踪
@country
@category
@benchmark
@status
的可能值而生成的每个字符串?或者
会使片段报告过期\u path
会起作用吗


很抱歉,API文档在这方面不是非常清楚,而且它不是一种容易、可靠测试的类型。

您确实需要逐个终止每个片段-通常无法终止一系列密钥(我认为memorystore支持通过regexp终止,但我认为没有人在生产中使用它)

您最好选择缓存键,以便它们在基础数据更改时更改