通過幾周的修改,deerlet已經添加了對於redis集羣的支持,策略與memcached客戶端同樣,採用一致性Hash。不過目前Hash的算法取自Java自帶的String類型的HashCode算法,所以還有待優化,後續會選取一個相對更加優秀的Hash算法。java
目前deerlet的基本框架搭建以及小部分命令的支持已經完成,並附帶完整的單元測試。接下來主要要作的工做是補上剩下的命令的支持。這須要必定的工做量,LZ但願有猿友可以一塊兒完成。git
-----------------------------------------如下爲文檔--------------------------------------github
deerlet是一個簡單易用的redis for java客戶端,支持與spring無縫集成。redis
1,輕量級,jar包只有25kb。
2,簡單易用,無侵入性。
3,能夠與當前流行的ioc容器spring無縫集成。
4,API徹底與redis命令保持一致,減小學習成本。
5,支持集羣,採用一致性hash策略。算法
#該屬性爲redis服務器ip和端口,支持集羣,以逗號隔開
address=localhost:6379spring
Configuration configuration = ConfigurationFactory.create().loadConfiguration(); ConnectionFactory connectionFactory = new ConnectionFactoryImpl(configuration); DeerletRedisClient deerletRedisClient = new DeerletRedisClientImpl(connectionFactory);//獲取client對象 deerletRedisClient.set("testKey","testValue");//存儲一個鍵爲testKey,值爲testValue的鍵值對 System.out.println(deerletRedisClient.get("testKey"));//獲取 System.out.println(deerletRedisClient.dbSize());//查看大小 deerletRedisClient.flushAll();//刷新 System.out.println(deerletRedisClient.dbSize());//查看大小
<bean id="deerletRedisClient" class="cn.zxl.deerlet.redis.client.spring.DeerletRedisClientFactoryBean">
</bean>編程
#該屬性爲redis服務器ip和端口,支持集羣,以逗號隔開
address=localhost:6379服務器
ApplicationContext applicationContext = new FileSystemXmlApplicationContext(" classpath:applicationContext.xml");//初始化spring容器 DeerletRedisClient deerletRedisClient = applicationContext.getBean(DeerletRedisClient.class);//獲取client對象 deerletRedisClient.set("testKey","testValue");//存儲一個鍵爲testKey,值爲testValue的鍵值對 System.out.println(deerletRedisClient.get("testKey"));//獲取 System.out.println(deerletRedisClient.dbSize());//查看大小 deerletRedisClient.flushAll();//刷新 System.out.println(deerletRedisClient.dbSize());//查看大小
address:必選,格式爲 host1:port1,host2:port2....
initSize:可選,指定鏈接池初始鏈接數,默認爲10
maxSize:可選,指定鏈接池最大鏈接數,默認爲100
minIdleSize:可選,指定鏈接池最小空閒鏈接數,默認爲10
maxIdleSize:可選,指定鏈接池最大空閒鏈接數,默認爲20app
del,dump,exists,expire,expireat,keys,migrate,move,object,persist,pexpire
,pexpireat,pttl,randomkey,rename,renamenx,restore,sort,ttl,type,scan
,append,bitcount,bitop,decr,decrby,get,getbit,getrange,getset,incr,incrby
,incrbyfloat,mget,mset,msetnx,psetex,set,setbit,setex,setnx,setrange,strlen
,lindex,linsert,llen,lpop,lpush,lpushx,lrange,lrem,lset,ltrim
,select,bgrewriteaof,bgsave,dbsize,flushall,flushdb
正在陸續添加中...歡迎您來一塊兒加入框架
-----------------------------------------文檔結束--------------------------------------
以前LZ一直在master上面作修改,爲了接下來和你們更好的協做,LZ已經創建了一個1.x分支。建議你們在這個分支上進行push操做。在1.x分支上全部命令添加完畢,而且單元測試經過之後,將會發布deerlet-redis-client-1.0版本。以後關於1.0版本的bug修復和優化,也在1.x分支上進行。
此外,根據可靠消息,redis將來可能會在服務器端作集羣,屆時deerlet會根據redis的變化,進行相應的改動。只有deerlet有重大變革時,纔會更改主版本號,所以你們基本上會在很長一段時間內在1.x分支上開發。
接下來的一小段時間內,deerlet主要要作的是如下兩件事。
1,添加目前未支持的命令。
2,完善單元測試,確保穩定性。
deerlet在github上面的地址爲:https://github.com/xiaolongzuo/deerlet-redis-client
1,首先安裝一下git,並將代碼clone到本地,能夠選擇clone到時LZ建立的1.X分支。
git clone git@github.com:xiaolongzuo/deerlet-redis-client.git //下載源碼
git -c core.quotepath=false checkout -b branch-1.x //切換到1.x分支
2,在本地電腦上下載並安裝maven,或使用eclipse的maven插件均可以,由於deerlet的構建工具是maven。
3,在本地電腦上安裝redis,並啓動三個redis實例,端口分別爲6379,6479,6666。
4,redis啓動之後,運行mvn test命令看是否可以經過單元測試。
完成以上幾步之後,deerlet已經能夠在你本地運行。這時你就能夠修復相應的bug,或者添加你所但願它具備的特性。記得,完事之後不要忘了push哦。