redis-java客户端jedis测试
生活随笔
收集整理的這篇文章主要介紹了
redis-java客户端jedis测试
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
【README】
本文旨在記錄 jedis 包連接redis集群的開發方式,并對api做簡單測試,api不會深入;
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;//可用連接實例的最大數目,默認為8;//如果賦值為-1,則表示不限制,如果pool已經分配了maxActive個jedis實例,則此時pool的狀態為exhausted(耗盡)private static Integer MAX_TOTAL = 1024;//控制一個pool最多有多少個狀態為idle(空閑)的jedis實例,默認值是8private static Integer MAX_IDLE = 200;//等待可用連接的最大時間,單位是毫秒,默認值為-1,表示永不超時。//如果超過等待時間,則直接拋出JedisConnectionExceptionprivate static Integer MAX_WAIT_MILLIS = 10000;//在borrow(用)一個jedis實例時,是否提前進行validate(驗證)操作;//如果為true,則得到的jedis實例均是可用的private static Boolean TEST_ON_BORROW = true;//在空閑時檢查有效性, 默認falseprivate static Boolean TEST_WHILE_IDLE = true;//是否進行有效性檢查private static Boolean TEST_ON_RETURN = true;private RedisClusterClient(){}/*** 靜態塊,初始化Redis連接池*/static {try {JedisPoolConfig config = new JedisPoolConfig();/*注意:在高版本的jedis jar包,比如本版本2.9.0,JedisPoolConfig沒有setMaxActive和setMaxWait屬性了這是因為高版本中官方廢棄了此方法,用以下兩個屬性替換。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節點集合 */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"?
總結
以上是生活随笔為你收集整理的redis-java客户端jedis测试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安卓交易猫苹果叫什么(安卓交易猫)
- 下一篇: jedis对redis键加锁+解锁+事务