测试redis集群的两种方式:分片和哨兵

时间:2021-08-07 07:59:07

import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPoolConfig; import redis.clients.jedis.JedisSentinelPool; import redis.clients.jedis.JedisShardInfo; import redis.clients.jedis.ShardedJedis; import redis.clients.jedis.ShardedJedisPool; public class JedisSentinelTest { /**
     * 哨兵模式链接redis
     * @throws Exception
     */ public void jedisSentinelPool() throws Exception { Set<String> sentinels = new HashSet<String>(); sentinels.add("哨兵的ip和端口"); sentinels.add("哨兵的ip和端口"); sentinels.add("哨兵的ip和端口"); JedisSentinelPool jedisSentinelPool = new JedisSentinelPool("master的别名", sentinels,"密码"); Jedis jedis = null; try { jedis = jedisSentinelPool.getResource(); jedis.set("hello", "world"); String value = jedis.get("hello"); System.out.println(value); } catch (Exception e) { System.out.println(e); } finally { if (jedis != null) try { jedis.close(); jedisSentinelPool.close(); } catch (Exception e) { e.printStackTrace(); } } } /**
     * 分片模式链接   
     */ public static void jedisTest(){ JedisPoolConfig jedisConfig = new JedisPoolConfig(); jedisConfig.setMaxIdle(20); jedisConfig.setTestOnBorrow(false); JedisShardInfo info79 = new JedisShardInfo("IP","端口"); JedisShardInfo info81 = new JedisShardInfo("IP","端口"); JedisShardInfo info80 = new JedisShardInfo("IP","端口"); info79.setPassword("密码"); info80.setPassword("密码"); info81.setPassword("密码"); List<JedisShardInfo> shards = new ArrayList<>(); shards.add(info79); shards.add(info80); shards.add(info81); ShardedJedisPool shardedJedisPool = new ShardedJedisPool(jedisConfig, shards); ShardedJedis ShardedJedis = null; try { ShardedJedis = shardedJedisPool.getResource(); } catch (Exception e) { e.printStackTrace(); } finally{ ShardedJedis.close(); shardedJedisPool.close(); } ShardedJedis.set("test", "测试"); String aaa = ShardedJedis.get("test"); System.out.println(aaa); } public static void main(String args[]){ jedisTest(); } }

原文:https://blog.csdn.net/qq_14823007/article/details/78820444

测试redis集群的两种方式:分片和哨兵的更多相关文章

  1. springboot2&period;x 整合redis集群的几种方式

    一.不指定redis连接池 #系统默认连接池 yml配置文件: spring: redis: cluster: nodes: - 192.168.1.236:7001 - 192.168.1.236: ...

  2. Redis 备份数据的两种方式

    既然是数据库,那就一定有数据备份方式了,而且 Redis 是内存形式的数据库,更需要数据备份了,要不然断电数据就全都丢失了. Redis 数据备份有两种方式: RDB(数据快照) AOF(记录操作日志 ...

  3. redis安装集群的2种方式

    redis主从只是数据的备份,当主宕机后不会自动切换从为主,需要手动切换从为主. 哨兵就可以自动切换从为主, 当主数据库遇到异常中断服务后,开发者可以通过手动的方式选择一个从数据库来升格为主数据库,以 ...

  4. eureka集群的两种配置方式&colon;配置文件方式与DNS方式

    eureka client获取serviceUrls(eureka server地址)列表的过程: 1. 根据use-dns-for-fetching-service-urls属性判断是从dns还是从 ...

  5. Redis的持久化的两种方式drbd以及aof日志方式

    redis的持久化配置: 主要包括两种方式:1.快照  2 日志 来看一下redis的rdb的配置选项和它的工作原理: save 900 1 // 表示的是900s内,有1条写入,则产生快照 save ...

  6. Redis数据持久化的两种方式RDB和AOF

    由于Redis的数据都存放在内存中,如果没有配置持久化,redis重启后数据就全丢失了,于是需要开启redis的持久化功能,将数据保存到磁 盘上,当redis重启后,可以从磁盘中恢复数据.redis提 ...

  7. redis做持久化的两种方式,RDB、AOF讲解

    redis的两种持久化方式: 1.RDB方式 概念:在指定的时间间隔内保存数据快照 实现方式: 找到redis的安装目录,修改redis的配置文件(redis.conf):① 修改备份的时间间隔:sa ...

  8. Redis &equals;&equals;&gt&semi; 集群的三种模式

    一.主从同步/复制 通过持久化功能,Redis保证了即使在服务器重启的情况下也不会丢失(或少量丢失)数据,因为持久化会把内存中数据保存到硬盘上,重启会从硬盘上加载数据. 但是由于数据是存储在一台服务器 ...

  9. Redis集群的三种模式

    一.主从模式 通过持久化功能,Redis保证了即使在服务器重启的情况下也不会损失(或少量损失)数据,因为持久化会把内存中数据保存到硬盘上,重启会从硬盘上加载数据. 但是由于数据是存储在一台服务器上的, ...

随机推荐

  1. Jquery更改table中的内容(一)

    css部分: .tab{ border:solid 1px #00aaee; text-align: left; margin:20px;}.tab tr{ border-top: solid 1px ...

  2. Unity中各类物理投射性能横向比较

    最近在优化摄像机部分代码,抽了个时间对物理投射这块进行了系统性的测试,发现了不少东西 测试工程下载地址: http://files.cnblogs.com/files/hont/RaycastTest ...

  3. 出来ios顶部导航掉下来问题

    <script type="text/javascript"> setposition(); function setposition(){ var ua = navi ...

  4. ARM架构下linux设备树加载的方法

    引入设备树后bootloader加载DTB方法: 1. 标准方法 将linux kernel放到内存地址为<kernel img addr>的内存中. 将DTB放到地址为<dtb a ...

  5. java中有关流操作的类和接口

    一.java操作l流有关的类和接口 1.File 文件类 2.RandomAccessFile 随机存储文件类 3.InputStream 字节输入流 4.OutputStream 字节输出流 5.R ...

  6. vue笔记-条件渲染

    条件渲染 1:指令v-if单独使用和结合v-else //单独使用 <h1 v-if="ok">Yes</h1> //组合使用 <h1 v-if=&q ...

  7. ansible资产配置

    参考链接:https://www.cnblogs.com/iois/p/6403761.html ansible主机组的使用,我们在对一个集群进行管理的时候集群会有很多角色,在执行统一命令操作的时候我 ...

  8. 关于TSql

    1.Sql:结构化查询语言(Structrued  Query  Language) 2.TSql:是Sql语言的另一种版本,且只能在SqlServer中使用.和Sql不同的是,TSql中增加了对变量 ...

  9. 前端框架之Vue&lpar;6&rpar;-列表渲染

    用v-for把一个数组对应为一组元素 我们用 v-for 指令根据一组数组的选项列表进行渲染. v-for 指令需要使用 item in items 形式的特殊语法, items 是源数据数组并且 i ...

  10. python通过sftp远程传输文件

    python提供了一个第三方模块paramiko,通过这个模块可以实现两台机器之间的网络连接,sftp是paramiko的一个方法,使用sftp可以在两台机器之间互相传输 拷贝文件.然而paramik ...