Rails缓存:expires_in写入缓存;我怎么能忽略某些参数?

时间:2013-04-22 23:55:27

标签: ruby-on-rails-3 caching

我一直在使用expires_in为我的回复添加Cache-Control标头。这样,当给定用户再次点击同一页面时(例如,当他们回击按钮时),在缓存过期之前,它将不会再次打击服务器。

我没有意识到,如果指定public: true,Rails也会将HTML的副本写入其缓存。这似乎是无害的,但是如果你有很多Adsense流量,你会发现缓存很快就会填满,因为gclid param(每个访问者都是唯一的)不会被expires_in忽略。如果您使用某种内存缓存(如Redis或Memcache),这尤其成问题。

使用caches_action我可以指定:caches_path参数,并使用它来忽略某些参数,例如gclid。有没有办法与expires_in做类似的事情?或者是使用'public:false'的唯一解决方案?

0 个答案:

没有答案