Hibernate5使用memcached作为二级缓存

解决的问题

        因为项目要进行升级,原先是使用hibernate3,spring3的,但是需要对项目进行升级重构需要使用spring4。为了方便以后使用spring cloud相关组件,所以对老项目进行依赖的升级,目标就是将项目调整为spring4,hibernate5。

        项目使用memcached进行二级缓存的,所以使用的是google的hibernate-memcached jar去使用hibernate的二级缓存数据读写。可以查看 AWS中使用Memcached作为hibernate的二级缓存   文章了解。但是google的插件已经不再支持hibernate5。最后支持的一个版本就是hibernate3.6。所以必须要原来的代码进行了升级。

改造hibenate-memcached

代码已经托管到github:https://github.com/zhangyinhao1234/hibernate-memcached

改造后的代码已经在我们生产环境稳定运行到现在并且还在继续使用,大家可以放心使用。

  • 支持 spymemcached 2.12.1 client
  • 支持 com.danga client

master

  • 基于hibernate 5.2.7 进行编译和修改
  • hibernate.memcached.hashAlgorithm=HashAlgorithm.FNV1_64_HASH
  • hibernate.memcached.connectionFactory=KetamaConnectionFactory
  • hibernate.cache.region.factory_class=com.googlecode.hibernate.memcached.MemcachedRegionFactory(spy客户端配置)
  • hibernate.cache.region.factory_class=com.googlecode.hibernate.memcached.dangamemcached.DangaMemcacheClientFactory(com.danga客户端配置)

1.7-5.0.12

  • 基于hibernate 5.0.12 进行编译和修改

1.7-5.2.7

  • 基于hibernate 5.2.7 进行编译和修改

1.7-5.2.1

  • 基于hibernate 5.2.1 进行编译和修改

1.7-5.0.11

  • 基于hibernate 5.0.11 进行编译和修改,spring boot 1.3.4使用的 hibernate5.0.11 因此基于此版本开发
  • hibernate.cache.region.factory_class=com.googlecode.hibernate.memcached.MemcachedRegionFactory
  • hibernate.memcached.hashAlgorithm=HashAlgorithm.FNV1_64_HASH
  • hibernate.memcached.connectionFactory=KetamaConnectionFactory

更多成长经历分享请关注公众号:

Hibernate5使用memcached作为二级缓存