Linux,redis群集模式,主从复制,读写分离

redis的群集模式

    主从模式   (单项复制,主复制到从)

      一主两从

     一台主机上的一主两从

     需要修改三个配置文件    主要端口不一样

     redis-8001.conf

     redis-8002.conf

     redis-8003.conf

    哨兵模式

    分布式集群模式 

redis 安装部署

    1,下载或者上传redis 6.2.14

       wget http://download.redis.io/releases/redis-6.2.14.tar.gz     //下载

       scp c:\redis-6.2.14.tar.gz   root@192.168.10.12:/root   //将下载到本机的源码包上传到虚拟机

2,将源码包解压到  /usr/local/   下

    tar  -zxvf  redis-6.2.14.tar.gz   -C  /usr/local/

3,将解压包改名

    cd  /usr/local

    mv  redis-6.2.14  redis

4,安装依赖

yum clean all

yum makecache fast

yum -y install gcc gcc-c++ make tcl    (utbuntu 安装 依赖关系  gcc  make  tcl)

    gcc --version      //查看gcc 版本

5,进入解压包 安装redis

    进入redis目录,输入make

      cd /usr/local/redis

      make && make install

6,启动服务

      进入src目录,输入./redis-server

      cd src

      ./redis-server

   

 7、再打开一个终端

      redis-cli       //进入redis数据库

      shutdown

      exit  //退出

8、修改配置文件

     cd /usr/local/redis/

     vim redis.conf

   daemonize   yes      (259)  

                                    yes、no  (yes启用守护进程,默认no不以守护进程运行)

   bind  0.0.0.0     (75)   

                                 绑定的主机地址,如果需要设置远程访问则直接将这个属性备注

   protected-mode   no      (94)  

                                 控制了是否可以远程访问  需远程访问改为 no

   requirepass  123        (903)    设置 Redis 连接密码  默认关闭

一,复制redis.conf

在/usr/local/redis目下,将redis.conf复制成三份分别取名为:redis-8001.conf、redis-8002.conf、redis-8003.conf三个配置文件

 cp redis.conf redis-8001.conf

 cp redis.conf redis-8002.conf

 cp redis.conf redis-8003.conf

二,配置主机 (以redis-8001为主机)

修改  redis-8001.conf 配置文件

#bind 127.0.0.1  #将bind注释掉 或 bind 0.0.0.0    75

port 8001    #改变其端口                      98

daemonize yes   #修改服务为后台运行                      259

pidfile /var/run/redis_8001.pid   #指定不同的pid文件,注意三份配置文件不同。 291

logfile "/usr/local/redis/log/redis_8001.log"  #指定log日志路径,要求不同。 304

dir /usr/local/redis/data/redis_8001  #这个指定rdb文件和aof文件的路径配置,要求改成不同。  456

masterauth 123  #从服务到主服务的认证密码。        486

requirepass 123  #三份文件都配置,客户端访问需要密码验证。   903

三,配置从机   (以redis-8002,redis-8003为从)

修改 redis-8002.conf 配置文件

#bind 127.0.0.1  #将bind注释掉 或 bind 0.0.0.0

port 8002 

daemonize yes  

pidfile /var/run/redis_8002.pid  

logfile "/usr/local/redis/log/redis_8002.log"  。

dir /usr/local/redis/data/redis_8002 

replicaof 127.0.0.1 8001    #从服务配置需要开启。配置主服务的ip的port。   479

masterauth 123 

requirepass 123

修改 redis-8003.conf 配置文件

#bind 127.0.0.1    #将bind注释掉 或 bind 0.0.0.0

port 8003 

daemonize yes  

pidfile /var/run/redis_8003.pid  

logfile "/usr/local/redis/log/redis_8003.log"。

dir  /usr/local/redis/data/redis_8003 

replicaof 127.0.0.1 8001    #从服务配置需要开启。配置主服务的ip的port。   479

masterauth 123 

requirepass 123

四,在 redis 安装目录下创建 /data 和各自的存放 rdb  aof 文件的文件夹

    cd  /usr/local/redis

    mkdir  data  log

    cd  data

    mkdir redis_800{1,2,3}

五,开启服务

        cd   /usr/local/redis

        redis-server   redis-8000.conf

        redis-server   redis-8001.conf

        redis-server   redis-8002.conf

六、查看服务端口,是否启动       

      ss -anpt | grep redis

七,开启三个终端

       redis-cli  -p 8001  -a 123

       redis-cli  -p 8002  -a 123

       redis-cli  -p 8003  -a 123

八,查看主从信息

    在各终端中输入  info  replication   查看

    主服务器

   从服务器

九 读写分离验证

主服务器 8001  可以写入 可读

从服务器 8002 8003  只能读  不能写

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/98.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

前端面试题---GET跟POST的区别(Ajax)

GET 和 POST 是两种 HTTP 请求方式,它们在传输数据的方式和所需空间上有一些重要区别: ✅ 一句话概括: GET 数据放在 URL 中,受限较多;POST 数据放在请求体中,空间更大更安全。 📦 1. 所需空间…

WPF 从Main()方法启动

1.去掉App.xaml StartupUri“MainWindow.xaml” 只会让App.g.cs 不生成这行代码,但是还是会生成的App.g.cs文件中生成Main方法 this.StartupUri new System.Uri("MainWindow.xaml", System.UriKind.Relative);默认的App.xaml的生成操作是 应用程序定义…

ocr-身份证正反面识别

在阿里云官网,申请一个token [阿里官方]身份证OCR文字识别_API专区_云市场-阿里云 (aliyun.com) 观察一下post请求body部分json字符串,我们根据这个创建一个java对象 先默认是人像面 public class IdentityBody {public String image;class configure…

通过GO后端项目实践理解DDD架构

最近在工作过程中重构的项目要求使用DDD架构,在网上查询资料发现教程五花八门,并且大部分内容都是长篇的概念讲解,晦涩难懂,笔者看了一些github上入门的使用DDD的GO项目,并结合自己开发中的经验,谈谈自己对…

LangGraph中预构件,creat_react_agent的实现流程

LangGraph Prebuilt Agent 流程图 本文档展示了LangGraph的prebuilt模块中Agent的实现流程,重点是create_react_agent函数构建的代理系统流程和结构。 ReAct Agent构建流程 #mermaid-svg-ubcEEuBeApApT624 {font-family:"trebuchet ms",verdana,arial,s…

贪心算法学习C++

1,跳跃游戏II 题目连接:45. 跳跃游戏 II - 力扣(LeetCode) 【题目描述】 在给定的一个nums数组中,nums[i]表示从当前i位置最多可以向后跳跃nums[i]个位置。问跳跃到最后 数组最后一个元素的最少跳跃次数?…

自学Matlab-Simscape(初级)- 2.3 Simscape Multibody 模块之Belts and Cables(皮带与线缆)

Matlab-Simscape自学系列文章目录 1.了解Simscape Multibody Link模块 2.掌握Simscape Multibody 模块 3.掌握Simscape Electrical模块 4.掌握Simscape Driveline 模块 5.了解Simscape Fluids模块 6.了解Simscape Battery模块 7.掌握Simscape Mechanical Interfaces 模块 8.掌…

一款轻量级的PHP地址发布页面源码

源码介绍 一款轻量级的PHP链接发布页面源码,适合快速搭建个性化的链接导航网站,支持动态链接管理和多种风格模板切换 1:后台登录地址为/admin/login.php,提供便捷的配置入口。 2:默认用户名是admin,密码为…

IMX6ULL2025年最新部署方案2在Ubuntu24.04上编译通过Qt5.12.9且部署到IMX6ULL正点原子开发板上

IMX6ULL2025年最新部署方案2:在Ubuntu24.04上编译通过Qt5.12.9且部署到IMX6ULL正点原子开发板上 前言 ​ 本篇方案部署是笔者这几天除了打蓝桥杯以外,笔者在研究的东西,现在写道这里的时候,笔者已经成功的在Ubuntu24.04上,使用默…

鸿蒙应用开发—鸿蒙app一键安装脚本

背景 当鸿蒙App开发完后需要提测,如何将App文件发给QA安装测试,是一件麻烦事,因为鸿蒙App并不能像Android Apk那样可以直接安装到设备中,能想到的方式有: 直接叫测试拿手机过来安装让测试安装DevEco Studio 拉代码编…

【第45节】windows程序的其他反调试手段上篇

目录 引言 一、通过窗口类名和窗口名判断 二、检测调试器进程 三、父进程是否是Explorer 四、RDTSC/GetTickCount时间敏感程序段 五、StartupInfo结构的使用 六、使用BeingDebugged字段 七、 PEB.NtGlobalFlag,Heap.HeapFlags,Heap.ForceFlags 八、DebugPort:CheckRem…

.Net 9 webapi使用Docker部署到Linux

参考文章连接: https://www.cnblogs.com/kong-ming/p/16278109.html .Net 6.0 WebApi 使用Docker部署到Linux系统CentOS 7 - 长白山 - 博客园 项目需要跨平台部署,所以就研究了一下菜鸟如何入门Net跨平台部署,演示使用的是Net 9 webAPi Li…