Liferay框架中,默认的缓存框架是采用的Ehcache.
虽然可以在portal.properties中修改Hiberante的二级缓存实现方案,但是,其他的应用缓存基本上必须使用Ehcache.
因为项目上的原因,也考虑到如果MDD框架需要能应用到大型网站上,必须能支持client/server方式的缓存框架,比如memcached,所以搞了几天,把memcached缓存框架集成到框架里了。
memcached client端采用的是alisoft的岑文初做的memcache-client-forjava框架,具体请参见:http://code.google.com/p/memcache-client-forjava/
为什么要选择这个?而不是其他的,比如spymemcached, whalin,主要是考虑到性能的问题,还有就是这个框架更容易与MDD集成(呵呵,谁不愿意偷懒呢)
但是这个框架中,没有Hibernate二级缓存的Provider,因此需要自己写一个,参考Ehcache对应的Provider类,也不是难事。
最终搞定,测试了一下,从Ehcache转换到Memcached,只需要修改三个配置文件即可。
算是一个不大不小的改进
本文介绍了如何将Liferay框架中的缓存从默认的Ehcache切换到memcached,并且详细说明了选择阿里软件的memcache-client-for-java的原因,以及如何为memcached编写Hibernate二级缓存的Provider。
3734

被折叠的 条评论
为什么被折叠?



