基於Spring實現一致性雜湊(consistent hasing)redis快取
阿新 • • 發佈:2019-01-28
目前關於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
使用方法(簡單說明)
- maven匯入專案包
<dependency>
<groupId>win.pangniu.four</groupId>
<artifactId>DHT-redis-cache</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency >
在專案resources檔案加中新增ch-cache.properties檔案。配置內容細看配置說明。
在專案中進行配置
- Spring boot專案 參考spring-boot-example專案中的配置,細看CacheConfig.class。
- Spring mvc專案 參考spring-mvc-example專案中的配置,細看spring-context-rediscache.xml。
功能使用。詳情請看兩個example專案的 controller和service層的程式碼。