测试redis集群的两种方式:分片和哨兵
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集群的两种方式:分片和哨兵的更多相关文章
- redis集群的三种方式
Redis三种集群方式:主从复制,哨兵模式,Cluster集群. 主从复制 基本原理 当新建立一个从服务器时,从服务器将向主服务器发送SYNC命令,接收到SYNC命令后的主服务器会进行一次BGSAVE ...
- springboot2.x 整合redis集群的几种方式
一.不指定redis连接池 #系统默认连接池 yml配置文件: spring: redis: cluster: nodes: - 192.168.1.236:7001 - 192.168.1.236: ...
- Redis 备份数据的两种方式
既然是数据库,那就一定有数据备份方式了,而且 Redis 是内存形式的数据库,更需要数据备份了,要不然断电数据就全都丢失了. Redis 数据备份有两种方式: RDB(数据快照) AOF(记录操作日志 ...
- redis安装集群的2种方式
redis主从只是数据的备份,当主宕机后不会自动切换从为主,需要手动切换从为主. 哨兵就可以自动切换从为主, 当主数据库遇到异常中断服务后,开发者可以通过手动的方式选择一个从数据库来升格为主数据库,以 ...
- eureka集群的两种配置方式:配置文件方式与DNS方式
eureka client获取serviceUrls(eureka server地址)列表的过程: 1. 根据use-dns-for-fetching-service-urls属性判断是从dns还是从 ...
- Redis的持久化的两种方式drbd以及aof日志方式
redis的持久化配置: 主要包括两种方式:1.快照 2 日志 来看一下redis的rdb的配置选项和它的工作原理: save 900 1 // 表示的是900s内,有1条写入,则产生快照 save ...
- Redis数据持久化的两种方式RDB和AOF
由于Redis的数据都存放在内存中,如果没有配置持久化,redis重启后数据就全丢失了,于是需要开启redis的持久化功能,将数据保存到磁 盘上,当redis重启后,可以从磁盘中恢复数据.redis提 ...
- redis做持久化的两种方式,RDB、AOF讲解
redis的两种持久化方式: 1.RDB方式 概念:在指定的时间间隔内保存数据快照 实现方式: 找到redis的安装目录,修改redis的配置文件(redis.conf):① 修改备份的时间间隔:sa ...
- Redis ==> 集群的三种模式
一.主从同步/复制 通过持久化功能,Redis保证了即使在服务器重启的情况下也不会丢失(或少量丢失)数据,因为持久化会把内存中数据保存到硬盘上,重启会从硬盘上加载数据. 但是由于数据是存储在一台服务器 ...
随机推荐
- Tensorflow结点打包和依赖控制
深度学习库能够充分发挥GPU并行计算的能力,但是有时我们却不得不需要串行.这时就需要用到依赖控制. import tensorflow as tf a = tf.Variable(1) b = tf. ...
- 修改的select
慢慢修改: #include <winsock.h> #include <stdio.h> #include <string> #define PORT 5010 ...
- Linux命令之lsb_release - 查看当前系统的发行版信息
用途说明 lsb_release命令用来查看当前系统的发行版信息(prints certain LSB (Linux Standard Base) and Distribution informati ...
- [转] mysql --prompt介绍
mysql --prompt修改命令行链接mysql时的提示符,shell脚本示例如下 #!/bin/bash case $1 in crm) cmd='mysql -h192.168.1.2 -ur ...
- 树莓派进阶之路 (031) -字符问题(1) - GBK汉字编码表(转)
转载:http://blog.sina.com.cn/s/blog_8184e033010109ug.html 基本简介 GB码,全称是GB2312-80<信息交换用汉字编码字符集基本集&g ...
- struct timeval结构体 以及 gettimeofday()函数(转)
struct timeval结构体 转载地址:http://blog.chinaunix.net/uid-20548989-id-2533161.html 该结构体是Linux系统中定义,struct ...
- php支付宝开发
1.下载对应的接口demo,注意退款有无密和有密 2.根据接口代码编写,要注意notify_url和return_url不能带有额外参数,并且notify_url中途不能含有跳转,否则post数据会丢 ...
- 【SqlServer】SqlServer存储过程使用
我们一开始学习数据库语言的时候就是用一些简单的insert,select等语法,但是随着我们学习数据库的深入,就会发现一些简单的语法满足不了我们的要求,比如处理一些业务逻辑,多表关联的时候,还有就是虽 ...
- 【jQuery】jquery插件封装
扩展jQuery插件开发的基本知识,最佳做法和常见的陷阱. 入门 编写一个jQuery插件开始于给jQuery.fn加入新的功能属性,此处添加的对象属性的名称就是你插件的名称: jQuery.fn ...
- process credentials(二)
一.前言 为什么要写一个关于进程如何创建的文档?其实用do_fork作为关键字进行索引,你会发现网上的相关文档数以万计.作为一个内核工程师,对进程以及进程相关的内容当然是非常感兴趣,但是网上的资料并不 ...