Gem Cache Digests 最大化緩存策略

xdite · 2012年09月02日 · 最后由 hooopo 回复于 2012年09月12日 · 3973 次阅读

http://blog.xdite.net/posts/2012/09/02/cache-digest-new-strategy/

這是由 @dhh 最新釋出(8/13) 的 gem: cache_digests 解析文章。

上禮拜出國前腦袋就打好這篇文章的草稿了,只是沒有時間動手寫下來....

切入的點從 new basecamp 的提速改版講到 russian doll cache strategy,再講到 cache invalid 會遇到的問題....

共收到 13 条回复

原来他们的 Fragment Caching 是这么用的,有意思

收藏,上班时候看

感谢分享

好文啊,本来看过这个gem了,但是没去找前因后果,强推。

是说用这个就可以不操心缓存过期的问题了?

不知道ruby-china的缓存改成这样应该能提升不少响应速度吧,50ms以内估记

这个解决办法来得赞啊 http://www.broadcastingadam.com/2012/07/advanced_caching_part_2-using_strategies/ 上有介绍用git commit的hash key解决代码更新后cache的问题

@xdite 对于修改erb产生的缓存无效问题,在部署后修改RAILS_APP_VERSION环境变量就行了。 比如设置export RAILS_APP_VERSION=zzz,那么生成的缓存key格式就如:views/zzz/posts/1-20120823222。所以部署后修改这个变量,缓存会自动过期。

#8楼 @camel 這個rails2.3支持麼?另外這個是不是只有用他的Helper生成才有效果呢?

#8楼 @camel 查過了,2.3是支持的 貌似我們直接用Rails.cache.write(key, value)的是不會自動加這個的。

#10楼 @gene_wu Rails.cache.write(key, value) 不会添加RAILS_APP_VERSION,这个对erb中的fragment cache有效。

#8楼 @camel 这种的话,会引起大片的cache失效,网站访问量大的话会出现瞬间压力峰值。partial digest这样的做法应该是最“友好”的方法.

难道大家不觉得用正则在页面里匹配render方法和在注释里声明依赖这种做法很恶心?

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册