1. 程式人生 > >Hibernate5使用memcached作為二級快取

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

更多成長經歷分享請關注公眾號: