redis-java客户端jedis测试
生活随笔
收集整理的這篇文章主要介紹了
redis-java客户端jedis测试
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
【README】
本文旨在記錄 jedis 包連接redis集群的開發(fā)方式,并對api做簡單測試,api不會(huì)深入;
maven引入的 jedis依賴
<dependencies><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>3.0.0</version></dependency></dependencies>【1】 java redis 客戶端
/*** redis集群客戶端 * @author pacoson*/ public class RedisClusterClient {private static JedisCluster jedis = null;//可用連接實(shí)例的最大數(shù)目,默認(rèn)為8;//如果賦值為-1,則表示不限制,如果pool已經(jīng)分配了maxActive個(gè)jedis實(shí)例,則此時(shí)pool的狀態(tài)為exhausted(耗盡)private static Integer MAX_TOTAL = 1024;//控制一個(gè)pool最多有多少個(gè)狀態(tài)為idle(空閑)的jedis實(shí)例,默認(rèn)值是8private static Integer MAX_IDLE = 200;//等待可用連接的最大時(shí)間,單位是毫秒,默認(rèn)值為-1,表示永不超時(shí)。//如果超過等待時(shí)間,則直接拋出JedisConnectionExceptionprivate static Integer MAX_WAIT_MILLIS = 10000;//在borrow(用)一個(gè)jedis實(shí)例時(shí),是否提前進(jìn)行validate(驗(yàn)證)操作;//如果為true,則得到的jedis實(shí)例均是可用的private static Boolean TEST_ON_BORROW = true;//在空閑時(shí)檢查有效性, 默認(rèn)falseprivate static Boolean TEST_WHILE_IDLE = true;//是否進(jìn)行有效性檢查private static Boolean TEST_ON_RETURN = true;private RedisClusterClient(){}/*** 靜態(tài)塊,初始化Redis連接池*/static {try {JedisPoolConfig config = new JedisPoolConfig();/*注意:在高版本的jedis jar包,比如本版本2.9.0,JedisPoolConfig沒有setMaxActive和setMaxWait屬性了這是因?yàn)楦甙姹局泄俜綇U棄了此方法,用以下兩個(gè)屬性替換。maxActive ==> maxTotalmaxWait==> maxWaitMillis*/config.setMaxTotal(MAX_TOTAL);config.setMaxIdle(MAX_IDLE);config.setMaxWaitMillis(MAX_WAIT_MILLIS);config.setTestOnBorrow(TEST_ON_BORROW);config.setTestWhileIdle(TEST_WHILE_IDLE);config.setTestOnReturn(TEST_ON_RETURN);/* redis節(jié)點(diǎn)集合 */Set<HostAndPort> jedisClusterNode = new HashSet<HostAndPort>();jedisClusterNode.add(new HostAndPort("192.168.163.201", 6379));jedisClusterNode.add(new HostAndPort("192.168.163.201", 6380));jedisClusterNode.add(new HostAndPort("192.168.163.201", 6381));jedisClusterNode.add(new HostAndPort("192.168.163.202", 6379));jedisClusterNode.add(new HostAndPort("192.168.163.202", 6380));jedisClusterNode.add(new HostAndPort("192.168.163.202", 6381));jedisClusterNode.add(new HostAndPort("192.168.163.203", 6379));jedisClusterNode.add(new HostAndPort("192.168.163.203", 6380));jedisClusterNode.add(new HostAndPort("192.168.163.203", 6381));jedis = new JedisCluster(jedisClusterNode,1000,1000,5,config);} catch (Exception e) {e.printStackTrace();}}public final static JedisCluster getJedis(){return jedis;} }【2】測試用例
/*** jedis測試用例 */ public class RedisClusterApiTest {public static void main(String[] args) {/* 獲取redis集群客戶端 */ JedisCluster jedisClient = RedisClusterClient.getJedis(); jedisClient.set("cluster","hello world");System.out.println(jedisClient.get("cluster"));// hello world } }【3】centos登錄redis集群,通過命令行查看 cluster key的值;
[root@centos201 ~]# /usr/local/redis-cluster/bin/redis-cli -c -h 192.168.163.201 -p 6381 192.168.163.201:6381> get cluster -> Redirected to slot [14041] located at 192.168.163.203:6379 "hello world"?
總結(jié)
以上是生活随笔為你收集整理的redis-java客户端jedis测试的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安卓交易猫苹果叫什么(安卓交易猫)
- 下一篇: jedis对redis键加锁+解锁+事务