Jediscluster_唧唧pc客户端

Jediscluster_唧唧pc客户端前言:由于spring-data-redis不支持,redis集群的操作。所以更换客户端,使用Jediscluster。正文:一.序言   前面搭建了个3个msater-slave的本地集群测试,这里用java的客户端进行一些简单测试,看看集群是否生效。   redisclient推荐:http://redis.io/clients 

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

前言:

由于spring-data-redis不支持,redis集群的操作。所以更换客户端,使用Jedis cluster。

正文:

一.序言

     前面搭建了个3个msater-slave 的本地集群测试,这里用java 的客户端 进行一些简单测试,看看集群是否生效。

     redis client 推荐:http://redis.io/clients

     我使用的:https://github.com/xetorthio/jedis

 

二.测试

    maven:

    

Java代码  
收藏代码

  1. <dependency>  
  2.     <groupId>redis.clients</groupId>  
  3.     <artifactId>jedis</artifactId>  
  4.     <version>2.7.2</version>  
  5.     <type>jar</type>  
  6.     <scope>compile</scope>  
  7. </dependency>  

 

     

Java代码  
收藏代码

  1. @org.junit.Test  
  2. public  void cluster(){  
  3.     String key = “2”;  
  4.     // 这东西 可以直接看到key 的分片数,就能知道放哪个 节点  
  5.     System.out.println(JedisClusterCRC16.getSlot(key));  
  6.     Set<HostAndPort> jedisClusterNodes = new HashSet<HostAndPort>();  
  7.     jedisClusterNodes.add(new HostAndPort(“127.0.0.1”7000));  
  8.     jedisClusterNodes.add(new HostAndPort(“127.0.0.1”7001));  
  9.     jedisClusterNodes.add(new HostAndPort(“127.0.0.1”7002));  
  10.     // 3个master 节点  
  11.     JedisCluster jc = new JedisCluster(jedisClusterNodes);  
  12.     System.out.println(jc.get(key));  
  13.     jc.setnx(key, “bar”);  
  14.     String value = jc.get(key);  
  15.     System.out.println(value);  
  16. }  

   别人的例子,我测试:

   

Java代码  
收藏代码

  1. Set<HostAndPort> jedisClusterNodes = new HashSet<HostAndPort>();  
  2.      jedisClusterNodes.add(new HostAndPort(“127.0.0.1”7000));  
  3.      jedisClusterNodes.add(new HostAndPort(“127.0.0.1”7001));  
  4.      jedisClusterNodes.add(new HostAndPort(“127.0.0.1”7002));  
  5.      JedisCluster jc = new JedisCluster(jedisClusterNodes);  
  6.      for (int i = 1; i <= 10000; i++) {  
  7.          long start = System.currentTimeMillis();  
  8.          jc.set(“k:” + i, “v” + i);  
  9.          System.out.print(“set “ + i +“th value in “ + (System.currentTimeMillis() – start) + ” ms”);  
  10.          start = System.currentTimeMillis();  
  11.          jc.get(“k:” + i);  
  12.          System.out.println(“, get “ + i +“th value in “ + (System.currentTimeMillis() – start) + ” ms”);  
  13.      }  

   由于是本机 固态硬盘,速度 杠杆的。

    

 

 三.测试反馈: 

     1.集群正常,基本操作都OK

     2.如果某个master 挂了,比如7001, 集群依然可用,会存放到对应的salve 7004 上去。

     3.如果master -slave 都挂了,会导致 整个集群不可用,异常,因此最好配有M-S 的结构

     4.我默认配置,有rdb 和 aof  持久化,因此master 挂了,重启,数据可以从salve 上恢复

     5.存放的key 会根据返回的位置,放在不同的slot 上,实现均衡

 

小结:

      1.这里仅仅是最基本的配置,和简单测试

      2.如果配置文件以及更多命令得参考文档

         2.1 客户端命令:http://redis.io/topics/clients

         2.2 中文jredis API:http://www.360doc.com/content/15/0328/12/5054188_458684113.shtml  建议看源码用例

        2.3 redis.conf 中文(旧):http://www.cppblog.com/HappySky2046/archive/2014/06/18/207323.html

      

      3.如果前期负载不很大,可以开启持久化,毕竟集群 还不熟悉,如果负载高了,而且集群比较熟悉了,业务也不依赖的情况下,可以关闭,或者 适当调整,调整多看看 原理 和 配置文件说明 就行了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/182024.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Vue快速入门

    Vue快速入门迫于无奈还得学下前端的东西,虽然本人学的是后端,但是很早也就听过了Vue很火,所以这里花一天时间学一些基础的Vue知识,至少保证能看懂吧!

  • 对中仪使用方法图解_罗马对意甲前四

    对中仪使用方法图解_罗马对意甲前四DATEADD函数计算一个日期通过给时间间隔加减来获得一个新的日期,DATEDIFF函数计算两个日期之间的小时、天、周、月、年等时间间隔总数。1、SQLServerDATEADD()函数定义和用法DATEADD()函数在日期中添加或减去指定的时间间隔。语法DATEADD(datepart,number,date)date 参数是合法的日期表达式。number 是您希望添加的间隔数;对于未来…

  • 数列所有公式大全_finish验证失败是什么意思

    数列所有公式大全_finish验证失败是什么意思请写一个程序,要求维护一个数列,支持以下 6 种操作:(请注意,格式栏 中的下划线 _ 表示实际输入文件中的空格)输入格式第 1 行包含两个数 N 和 M,N 表示初始时数列中数的个数,M 表示要进行的操作数目。第 2 行包含 N 个数字,描述初始时的数列。以下 M 行,每行一条命令,格式参见问题描述中的表格。输出格式对于输入数据中的 GET-SUM 和 MAX-SUM 操作,向输出文件依次打印结果,每个答案(数字)占一行。数据范围与约定你可以认为在任何时刻,数列中至少有 1 个数。输入

  • Windows7 64位系统搭建Cocos2d-x 2.2.1最新版以及Android交叉编译环境(具体教程)

    Windows7 64位系统搭建Cocos2d-x 2.2.1最新版以及Android交叉编译环境(具体教程)

    2021年11月30日
  • ubuntu重装apt_怎么设置apt get的源

    ubuntu重装apt_怎么设置apt get的源在linux上开发时,更换apt源是很常规的操作,如果对源的理解不透彻,更换不成功后都不知道是什么原因,就是换着瞎碰,因此决定对换源的操作进行研究

    2022年10月14日
  • 深入理解Java的接口和抽象类

    深入理解Java的接口和抽象类

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号