欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

redis-java客户端jedis测试

发布时间:2023/12/3 编程问答 40 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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测试的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。