redis的主从配置模拟(一主双从)

目录

先来给大家扩展机道面试官经常会问到关于redis的题

一、redis有哪些好处

二、redis相比memcached有哪些优势

三、redis常见性能问题和解决方案

四、redis集群的工作原理

五、redis主从的原理

redis的主从配置模拟(一主双从)

一、准备环境

二、分别安装redis

[三、 主配置文件修改](#三、 主配置文件修改)

四、重启redis,测试


先来给大家扩展机道面试官经常会问到关于redis的题

一、redis有哪些好处

(1) 速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1)

(2) 支持丰富数据类型,支持string,list,set,sorted set,hash

(3) 支持事务,操作都是原子性,所谓的原子性就是对数据的更改要么全部执行,要么全部不执行

(4) 丰富的特性:可用于缓存,消息,按key设置过期时间,过期后将会自动删除

二、redis相比memcached有哪些优势

(1) memcached所有的值均是简单的字符串,redis作为其替代者,支持更为丰富的数据类型

(2) redis可以持久化其数据

三、redis常见性能问题和解决方案

(1) Master最好不要做任何持久化工作,如RDB内存快照和AOF日志文件

(2) 如果数据比较重要,某个Slave开启AOF备份数据,策略设置为每秒同步一次

(3) 为了主从复制的速度和连接的稳定性,Master和Slave最好在同一个局域网内

(4) 尽量避免在压力很大的主库上增加从库

(5) 主从复制不要用树状结构,用单向链表结构更为稳定,即:Master(写) <- Slave1(读) <- Slave2(读) <- Slave3(读)...

这样的结构方便解决单点故障问题,实现Slave对Master的替换。如果Master挂了,可以立刻启用Slave1做Master,其他不变。

四、redis集群的工作原理

主多从+哨兵模式(keelalived)

五、redis主从的原理

从服务器会向主服务器发出SYNC指令,当主服务器接到此命令后,就会调用BGSAVE指令来创建一个子进程专门进行数据持久化工作,也就是将主服务器的数据写入RDB文件中。在数据持久化期间,主服务器将执行的写指令都缓存在内存中。

在BGSAVE指令执行完成后,主服务器会将持久化好的RDB文件发送给从服务器,从服务器接到此文件后会将其存储到磁盘上,然后再将其读取到内存中。这个动作完成后,主服务器会将这段时间缓存的写指令再以redis协议的格式发送给从服务器。

redis的主从配置模拟(一主双从)

一、准备环境

这里我们准备三台服务器

master

slave1

slave2

关闭防火墙和selinux

做好域名解析

二、分别安装redis

安装详情请参考此文章

Redis服务-CSDN博客

三、 主配置文件修改

编辑master的redis配置文件:

cd /data/application/redis/

vim redis.conf

修改slave1的配置文件:

cd /data/application/redis/

vim redis.conf

找到主从模块

slave2的配置文件修改的地方和slave是一样的:

cd /data/application/redis/

vim redis.conf

找到主从模块

四、重启redis,测试

master

重启redis

登录redis查询主从状态

slave1

重启redis

登录redis查询主从状态

slave2

重启redis

登录redis查询主从状态

这是我们在master上创建一个key

也会同步到slave和slave2上

希望能够帮助到大家!!

相关推荐
csdn_aspnet1 小时前
TCP/IP协议栈深度解析:从基石到前沿
服务器·网络·tcp/ip
聆风吟º1 小时前
Oracle到KingbaseES数据库迁移:全流程实战指南与避坑总结
数据库·oracle·数据库迁移·kingbasees
哈__1 小时前
Oracle至KingbaseES数据库迁移全攻略:痛点拆解、配置实操与问题排查
数据库·oracle
lcreek1 小时前
Linux信号机制详解:阻塞信号集与未决信号集
linux·操作系统·系统编程
shandianchengzi2 小时前
【记录】Tailscale|部署 Tailscale 到 linux 主机或 Docker 上
linux·运维·docker·tailscale
JZC_xiaozhong2 小时前
电商ERP如何同步订单数据到MySQL?集成方案解析
数据库·mysql·数据分析·etl工程师·嵌入式实时数据库·电商erp集成·数据集成与应用集成
消失的旧时光-19432 小时前
第四篇(实战): 订单表索引设计实战:从慢 SQL 到毫秒级
java·数据库·sql
知识分享小能手2 小时前
Oracle 19c入门学习教程,从入门到精通, Oracle 表空间与数据文件管理详解(9)
数据库·学习·oracle
John Song2 小时前
Linux机器怎么查看进程内存占用情况
linux·运维·chrome
sichuanwuyi2 小时前
Wydevops工具的价值分析
linux·微服务·架构·kubernetes·jenkins