redisx項目地址:http://git.oschina.net/websterlu/redisxjava
pom.xml中引入redisx依賴:git
<dependencies> <dependency> <groupId>cn.skynethome</groupId> <artifactId>redisx-core</artifactId> <version>1.0.3-SNAPSHOT</version> </dependency>
指定倉庫:web
<repositories> <repository> <id>central</id> <name>Central Repository</name> <url>https://oss.sonatype.org/content/groups/public</url> <layout>default</layout> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories>
編寫配置文件,配置文件介紹:redis
classpath:properties/redis_cluster.properties redis集羣線程池配置性能
classpath:properties/redis_master_salve.properties redis自定義主備,讀寫分離,配置測試
classpath:properties/redis_sentinel.propertie sentinel模式線程池配置url
classpath:properties/redis_shared_sentinel.properties sentinel多主分片模式線程池配置spa
具體demo可參考,git地址中的redisx-demo..net
這裏就是項目中採用哪一種模式這裏配置好哪一種模式便可!線程
咱們用主備配置來寫一個測試代碼,首先配置redis_master_salve.properties配置文件,配置選項以下:
master_server=10.0.1.38:6379 #redis主配置 #slave_server=10.0.1.38:6380,10.0.1.38:6381 redis從配置,可配置多從 slave_server=10.0.1.38:6380 auth=123^xdxd_qew #密碼配置,若是沒有留空便可。 max_active=100 #最大線程數。 max_idle=20 #最大空閒線程數。 max_wait=3000 #線程最大等待時長。 timeout=100000 #讀取超時。 #獲取jedis對象的時候,是否檢測其可用,若是配置爲true, #拿到的jedis對象將是所有可用的,這裏測試環境建議配置爲true #正式環境爲false,因可能對性能有所影響。 test_on_borrow=true
新建類並編寫main方法寫入以下測試代碼:
public static void main(String[] args) { //設置一個對象並序列化存儲到redis RedisMasterSlaveUtil.setObject("user",new User("user1","123456")); //獲得反序列化的對象 System.out.println(RedisMasterSlaveUtil.getObject("user",User.class).getName()); //刪除對象 RedisMasterSlaveUtil.del("user"); System.out.println(RedisMasterSlaveUtil.getObject("user",User.class)); }
運行結果:
read redis config file is classpath: [properties/redis_master_salve.properties] remove properties...key of [properties/redis_master_salve.properties] Trying to add Master-Slaves from params... add Master and Slaves is successfully... Create Master-Slaves jedis pool for {masterName=master, master=10.0.1.38:6379, slaves=[10.0.1.38:6380]} user1 null
你們趕忙寫個demo試試redisx吧,相信你會喜歡上它的。