Java极速框架JFinal-中如何使用好缓存?
@JFinal 你好,想跟你请教个问题:
启用缓存只需要配置ehcache.xml,加入相应的jar就可以了吗?
那么被缓存对象是在什么时候放入缓存中的?
(是在查询、修改、新增、删除操作时,进行了判断吗?)
在实际的应用只,又如何操作的呢?
在config中配置ehcahe插件,拦截器
public void configPlugin(Plugins me) { } public void configInterceptor(Interceptors i) {}
然后在controller中怎么使用呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
给力!
哈,果然使用JFinal遇到的问题大部分在OSC搜一下即可解决。谢谢各位了。
嗯,非常感谢 !
嗯,非常感谢 !
hibernate有read-write那种缓存并发策略,防止脏读什么的,是不是可以自己在数据库结束后才更新缓存?
想问下在Model与Db缓存时具体的机制是什么呢, 是同一个sql语句就取缓存吗, 如果遇到 "?" 参数的呢 会根据参数值的不同去取吗
回复
谢谢了,发现文档里有,没仔细看
启用缓存很简单,只需要放入 ehcache.xml 与 jar 包并在 configPlugin中添加一句 : me.add(new EhCachePlugin())就可以使用了。 JFinal 缓存主要有如下几种用法:
1:使用 CacheInterceptor对 actoin 进行全自动缓存
这种用法非常适用于网站首页,以及网站各大频道,设置好一个合理的过期时间即可。该用法会自动化缓存整个 action 所需的所有数据。
2:使用 CacheKit 工具类在程序中辅助做缓存
这种用法适合更加细粒度地控制需要缓存的数据,例如,你仅仅需要缓存某 action 中的某个 List 数据,可以使用 CacheKit,具体使用例子见 JFinal 手册。
3:使用 JFinal ActiveRecord 中的 Model 与 Db
这种用法可以将 ActiveRecord 与缓存结合起来使用,是最省代码的一种使用方式,优点是简单方便、省代码,缺点是查询业务耦合度有所提升。
被存缓存的对象何时存入缓存,得看具体情况,三种用法有点区别。
JFinal 缓存采用了最简单的策略,仅缓存不负责更新数据,开发者需要根据不同的业务通过 CacheKit 中的方法主动清除缓存数据。
对于读多写少的 web 站点,设置好适当的过期时间,在适当的地方清除缓存能非常有效地提升性能。