echache页面缓存

一般网站首页都会有个缓存,就像javaeye,加个页面缓存也很简单,可以用echache的web cache。配置一个filter就可以了。像这样:

 <filter>
  <filter-name>SimplePageCachingFilter</filter-name>
  <filter-class>
   net.sf.ehcache.constructs.web.filter.SimplePageCachingFilter
  </filter-class>
 </filter>
 <filter-mapping>
  <filter-name>SimplePageCachingFilter</filter-name>
  <url-pattern>/index.do</url-pattern>
 </filter-mapping>

测试了性能比直接访问静态文件还要快很多。当时真让我爽了几秒钟。

但是有个问题很恶心,比如用户登录以后,首页是需要变化的,一般顶部都会显示会员的一些信息,就像javaeye。
echache的web cache中有个SimplePageFragmentCachingFilter,不过貌似他只支持jsp的include。而我用的是freemarker。
我现在也没想到什么好办法。现在能想到的办法就是每次访问首页时发一个ajax请求给后台,再动态的更新,但这个办法有个问题,有些网速慢的可能登录了再刷新,页面上还是没显示登录,要半天才显示。
还有一个办法就是把头部动态部分放在一个iframe里面,但我个人不喜欢页面上有iframe。
不知道各位有什么办法?

  1. da shang
    donate-alipay
               donate-weixin weixinpay

发表评论↓↓