Ruby on rails Rails:如何使接受参数的操作缓存无效?

Ruby on rails Rails:如何使接受参数的操作缓存无效?,ruby-on-rails,caching,parameters,action,Ruby On Rails,Caching,Parameters,Action,我在Rails控制器中有一个操作,它接受一些用于筛选和分页的参数。返回的响应仅为JSON格式,没有视图模板 我知道可以使用caches\u action和cache\u path对操作和参数进行缓存。我不理解也无法找到的是如何在所有参数中使该操作的缓存无效。缓存操作类似于“索引”操作,如果存在创建/更新/删除操作,则分页会受到影响,因此必须删除该操作的整个缓存 这一定是一个相当常见的问题,但我还无法确定它是如何解决的。我能想到的唯一方法就是通过谷歌搜索为“缓存路径”属性创建自定义缓存键: 如果

我在Rails控制器中有一个操作,它接受一些用于筛选和分页的参数。返回的响应仅为JSON格式,没有视图模板

我知道可以使用caches\u action和cache\u path对操作和参数进行缓存。我不理解也无法找到的是如何在所有参数中使该操作的缓存无效。缓存操作类似于“索引”操作,如果存在创建/更新/删除操作,则分页会受到影响,因此必须删除该操作的整个缓存


这一定是一个相当常见的问题,但我还无法确定它是如何解决的。

我能想到的唯一方法就是通过谷歌搜索为“缓存路径”属性创建自定义缓存键:

  • 如果查找单个项目,自定义缓存键将包含该项目的更新日期
  • 如果查找项目列表,自定义缓存键将包括项目计数和项目列表的上次更新日期
负面影响是,即使缓存命中,也会有数据库调用。 积极的副作用是缓存会自动过期,因为我使用memcached,memcached使用LRU替换

我感觉自己在重新发明轮子,但我在任何地方都找不到可靠的文档来更好地解决这个问题