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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 解决windowlocationhref不跳转的 BUG「建议收藏」

    解决windowlocationhref不跳转的 BUG「建议收藏」今晚写了代码发现了一个小BUG,记录下。&lt;form&gt;———&lt;p&gt;&lt;!–下面按钮–&gt;&lt;divclass="footerContainer"&gt;&lt;buttonid="nextStep"onclick="skip()&q

    2022年7月15日
    15
  • 专题实验 日期类型

    专题实验 日期类型

    2021年8月30日
    45
  • intellij idea 怎么查看方法在哪里被调用_进入接口

    intellij idea 怎么查看方法在哪里被调用_进入接口在接口的左边有个向下的小箭头,点击小箭头就能看到接口的实现类和方法的实现:在实现类的左边有个向上的小箭头,可以查看被实现的接口和被覆盖重写的方法:

    2022年8月15日
    13
  • linux之fstab文件详解「建议收藏」

    linux之fstab文件详解「建议收藏」/etc/fstab是用来存放文件系统的静态信息的文件。位于/etc/目录下,可以用命令less/etc/fstab来查看,如果要修改的话,则用命令vi/etc/fstab来修改。当系统启动的时候,系统会自动地从这个文件读取信息,并且会自动将此文件中指定的文件系统挂载到指定的目录。下面我来介绍如何在此文件下填写信息。

    2025年8月9日
    3
  • SpringMVC之源码分析–ThemeResolver(一)

    SpringMVC之源码分析–ThemeResolver(一)

    2022年4月2日
    53
  • 离散实验 判断集合之间是单射,满射还是双射

    离散实验 判断集合之间是单射,满射还是双射通过C++实现集合间映射关系判断思路:创建判断两个集合之间是否是单射,满射,双射的函数,同时也分别创建三个函数,里面存放两集合间的映射关系,再通过刚刚创建的判断函数,进行验证是否满足条件。涉及的数学知识1.单射:设f是由集合A到集合B的映射,如果所有x,y∈A,且x≠y,都有f(x)≠f(y),则称f为由A到B的单射。2.满射:如果每个可能的像至少有一个变量映射其上(即像集合B中的每个元素在A中都有一个或一个以上的原像),或者说值域任何元素都有至少有一个变量与之对应,那这个映射就叫做满射。3.双

    2022年5月1日
    118

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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