我一直在使用expires_inCache-Control
为我的回复添加标题。这样,当给定的用户再次点击相同的页面时(例如,当他们点击返回按钮时)它不会打扰再次点击服务器,直到缓存过期。
我没有意识到的是,如果您指定,Rails 还会将 HTML 的副本写入其缓存public: true
。这似乎无害,但如果您有大量 Adsense 流量,您会发现缓存很快就会填满,因为gclid
参数(对于每个访问者来说都是唯一的)不会被expires_in
. 如果您使用某种内存缓存(如 Redis 或 Memcache),这尤其成问题。
使用caches_action我可以指定一个:caches_path
参数,并使用它来忽略某些参数,例如 gclid。有没有办法做类似的事情expires_in
?还是使用 'public: false' 的唯一解决方案?