1. 程式人生 > >基於Spring實現一致性雜湊(consistent hasing)redis快取

基於Spring實現一致性雜湊(consistent hasing)redis快取

wen icon

目前關於redis叢集方案,官方方案是Redis cluster,Redis3.0以後正式提供。大家可以瞭解下。
雖然官方方案都有,並且網上也有很多關於這方面的內容,為什麼還要自己造輪子。哈哈,程式設計師不久最喜歡造輪子。核心功能已經完成,但是會持續更新的。
功能簡陋,程式碼難看,多多諒解。任意的意見和建議,歡迎隨意與我溝通。
專案的Bug和改進點,可在GitHub上以issue的方式直接提交給我。

程式碼獲取

專案結構

DHT-redis-cache 基於spring的一致性hash的redis叢集方案的jar包。依賴進去專案,根據訂製規則配置就可以使用。
spring-boot-example 使用DHT-redis-cache的spring boot例子
spring-mvc-example 使用DHT-redis-cache的spring mvc例子

需要知識點

  • 基於spring開發的
  • spring cache,基於註釋的cache技術,它本質上不是一個具體的快取實現方案,而是一個對快取使用的抽象。
  • redis,key-value儲存系統。
  • 一致性雜湊演算法,可自行去問度娘。

配置說明

必須在專案resources目錄下放置ch-cache.properties檔案。

redis伺服器數量

-redis.count=2

redis伺服器0配置

-redis.host0=192.168.0.1
-redis.port0=6379
-reids.passwd0=test
-redis.db.size0=16

redis伺服器1配置

-redis.host1=192.168.0.2
-redis.port1=6380
-reids.passwd1=test
-redis.db.size1=16

使用方法(簡單說明)

  1. maven匯入專案包
<dependency>
    <groupId>win.pangniu.four</groupId>
    <artifactId>DHT-redis-cache</artifactId>
    <version>1.0-SNAPSHOT</version>
</dependency
>
  1. 在專案resources檔案加中新增ch-cache.properties檔案。配置內容細看配置說明

  2. 在專案中進行配置

    • Spring boot專案 參考spring-boot-example專案中的配置,細看CacheConfig.class。
    • Spring mvc專案 參考spring-mvc-example專案中的配置,細看spring-context-rediscache.xml。
  3. 功能使用。詳情請看兩個example專案的 controller和service層的程式碼。