当前位置:网站首页>【redis入门系列】redis搭建主从服务器
【redis入门系列】redis搭建主从服务器
2022-07-23 14:32:00 【馆主阿牛】
个人简介
- 作者简介:大家好,我是阿牛,全栈领域新星创作者。
- 支持我:点赞+收藏️+留言
- 系列专栏:拳打脚踢数据库
- 格言:要成为光,因为有怕黑的人!

前言
在现实中,服务器宕机是十分常见的,服务器一宕机,我们的redis服务自然就停了,具有很大的安全隐患,因此redis搭建主从服务器很有必要,不仅可以实现读写分离,还可以形成强大的多级服务器集群架构!
主从概念
- 一个master可以拥有多个slave,一个slave又可以拥有多个slave,如此下去,就可以形成强大的多级服务器集群架构。
- master 用来写数据,slave用来读数据,经统计:网站的读写比例是10:1,因此主从搭建很有必要。
- 通过主从配置可以实现读写分离。

注:master和slave都是一个redis实例(redis服务),从服务器可以通过日志机制同步主服务器的数据。
搭建主从(windows系统)
这里我操作搭建一个从服务器,多个的操作方法一样!
如图,将你的redis目录重新复制一份放在同一个文件夹下,让一个当主服务为,另一个当从服务器。
对于主服务器,不做任何变更,需要变更的是Redis-Slave从服务器里的配置文件。
打开Redis-Slave里的redis.windows.conf
可以看到bind绑定的ip以及port端口号,由于是在同一台电脑上搭建,因此ip不修改,以后遇到多台电脑情况,只需在此基础上将ip也改为对应电脑的即可。
由于两个服务器端都是在同一台电脑的同一个系统下,bind都是本地IP地址127.0.0.1,两个独立的Redis实例,我们可以让端口不一样,之后就可以独立启动。
如图,我们将从服务器的端口号设为6378
从服务器就搭建好了,接下来就是主从Redis服务绑定,启动主从服务。
打开Redis-slave文件夹中的配置文件,在port行下面增加一行,用于绑定主服务器端的IP地址和port端口:
slaveof 127.0.0.1 6379

保存后主从Redis服务绑定完成!
同时为了防止主服务器和从服务器启动冲突,我们这里将从服务器配置重名命(因为redis-server 后面默认是redis.windows.conf)。
这时从服务器启动指令为:
redis-server redis.windows-slave.conf

测试
启动主从服务端


可以看到启动成功且主从绑定也是ok的·,接下分别启动各自的客户端。
为了防止冲突,启动时加上端口号:
主:redis-cli -p 6379
从:redis-cli -p 6378


客户端启动成功!
接下来我们测试主从服务的读写同步与分离:

如图,我们在主服务器中添加了一个字段,我们看能否在从服务器中读到:

可以,主从同步没有问题!
我们知道从服务器是只读的,我们验证一下:

可以看到测试成功,从服务器不能写入!
结语
如果你觉得博主写的还不错的话,可以关注一下当前专栏,博主会更完这个系列的哦!也欢迎订阅博主的其他好的专栏。
边栏推荐
猜你喜欢

软件配置 | Pycharm下载、安装及环境配置和卸载

Ros2 self study notes: rqt visualization tool

VSCode PIO创建工程失败分析和解决办法

简单了解首个 EVM 等效的 zkEVM Polygon 为何全力押注

OpenIM重大升级-群聊读扩散模型发布 群管理功能升级

【30. n-皇后问题】
![[31. Maze walking (BFS)]](/img/9b/1c1e991ca3e99923dab888a214efb3.png)
[31. Maze walking (BFS)]

死磕递归1:递推公式

JS if the decimal is 0, subtract it, not keep it

Failure analysis and solution of vscode PIO creation project
随机推荐
食品安全|选购益生菌类产品,你必须知道的八件事
iphone 无法打开openv**文件的解决方案
使用 PreparedStatement 的 JDBC 程序示例
C语言·结构体(线性表入门)
软件测试计划包括哪些内容,测试计划如何编写。分享测试计划模板
sprintf和cv::putText
Repository XXX does not have a Realease file「建议收藏」
阿里二面:什么是CAS?
Detailed explanation of SQL error reporting and blind annotation
【Flutter -- 布局】线性布局(Row 和 Column)
Fundamentals of C language -- 2-6 pointers, arrays and sizeof operators
Pymoo学习 (1):基本概念
怎么正确设置路由器
[MySQL]一、MySQL起步
Object.defineproperty method, data agent
Eureka notes
Program environment and pretreatment
Add dependent jar packages to the project in the idea
Description and usage of Axi interconnect IP core
Search Binary Tree - find nodes, insert nodes, delete nodes