当前位置: 首页 > news >正文

Redis主从复制(搭建集群的一种方式)【故障转移,内存,回收】

 

 

 

做一个伪集群

 配置文件:

daemonize yes
port 7777
logfile .redis-7777.log
dir ./
bind 0.0.0.0

启动6666    and    7777

 

 

 现在设置主从表

 

 

 

 但是有个问题我把服务器停掉  关系就会解除

还可以手动解除    

slaveof no one 命令

 配置Sentinel(哨兵)

 

 

 

 

 

 故障转移

配置文件搞进来:

 

 

 当7000停掉后:: ./src/redis-cli -p 7000 shutdown

7001  或者  7002会有一个为主机

故障转移测试

IDEA操作:

<dependencies><dependency><groupId>com.yugabyte</groupId><artifactId>jedis</artifactId><version>2.9.0-yb-11</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version></dependency></dependencies>

测试:

package com.ff.test;import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisSentinelPool;import java.util.HashSet;
import java.util.Random;
import java.util.Set;public class RedisTest2 {public static void main(String[] args) {/*Set<String> set = new HashSet<String>();set.add("192.168.200.166:26379");set.add("192.168.200.166:26380");set.add("192.168.200.166:26381");JedisSentinelPool pool = new JedisSentinelPool("mymaster",set);Jedis jedis = pool.getResource();jedis.set("hello", "java");String hello = jedis.get("hello");System.out.println(hello);jedis.close();*/String nodeName = "mymaster";Set<String> set = new HashSet<String>();set.add("192.168.200.166:26379");set.add("192.168.200.166:26380");set.add("192.168.200.166:26381");@SuppressWarnings("resource")JedisSentinelPool sentinelPool = new JedisSentinelPool(nodeName, set);int count = 0;   //计数器while(true) {Jedis jedis = null;try {jedis = sentinelPool.getResource();jedis.select(1);int idx = new Random().nextInt(100000);jedis.set("k-" + idx, "v-" +idx);if(count % 100 == 0) {System.out.println("k-" +idx);}count++;} catch (Exception e) {e.printStackTrace();} finally {if(jedis != null) {jedis.close();}}try {Thread.sleep(10);} catch (InterruptedException e) {e.printStackTrace();} finally {}}}
}

 一直运行 我们在将主表停掉,然后等一会就会发现转移了

 故障转移的时候不可以操作Redis  -----会出现脑裂    (出现两个表   网络震荡  解决不了)

在Spring下操作:

 SpringBoot访问Sentinel

 Redis开发规范

 

 

 

 Redis内存管理

 

 

 

http://www.lryc.cn/news/67255.html

相关文章:

  • 专业专注,极致体验,高端隐形智能晾衣机品牌邦先生官宣浙江卫视知名主持人沈涛为品牌代言人
  • SpringCloud使用SkyWalking实现分布式链路追踪1
  • 【牛客刷题专栏】0x28:JZ30 包含min函数的栈(C语言编程题)
  • 聚焦丨酷雷曼荣列XRMA联盟成员单位
  • 物联网架构和技术:如何实现物物互联和智能化控制
  • Linux系统查看CPU信息命令cat /proc/cpuinfo详细说明
  • RK3588旗舰32T人工智能多网口边缘智能网关交换机
  • 一行代码绘制高分SCI火山图
  • chmod是什么?cron是什么?
  • 励志长篇小说《周兴和》书连载之三 十五岁时做父亲
  • 文件一直处于修改状态 git checkout 无法还原的问题解决方法
  • Julia入门-3、Julia包管理工具
  • 选择正确的 Azure 存储服务
  • 隐语团队研究成果再创佳绩,两篇论文分别被USENIX ATC‘23和IJCAI‘23接收!
  • 美团数据指标体系搭建实战
  • prometheus实战之五:飞书通知告警
  • 【华为OD机试真题】不含101的数(python版)100%通过率 超详细代码注释 代码解读
  • 基于AT89C52单片机的交通信号灯设计
  • chatGPT4.0-基于Python+Appium的APPUI关键字驱动自动化测试框架demo
  • C++模板进阶
  • 【人力资源管理】第4集 免费开源ERP: Odoo 16 Appraisal员工绩效评估 构建一体化企业人力资源管理
  • 「AI 孙燕姿」翻唱华语乐坛歌曲爆红全网,AI 翻唱将带来哪些影响?是否会有版权等问题?
  • 路径规划算法:基于灰狼优化的路径规划算法- 附代码
  • 推荐系统综述
  • SQLIST数据库编程
  • vue2中操作对象的方法
  • 左值引用、右值引用,std::move() 的汇编解释
  • LiangGaRy-学习笔记-Day11
  • 【异常解决】浏览器无法访问此网站ERR_UNSAFE_PORT/网页可能无法连接,或者它已永久性地移动到了新网址问题解决方案
  • Python函数的参数