Redis主从复制
使用Redis的主从复制,可以实现读写分离,分担主服务器的压力,另外也可以将数据备份放到从数据库中,同时禁止主服务器的数据备份,也可以节省主服务器的系统开销。
要实现主从复制,只需在启动redis服务时加上参数 --slaveof [master ip] port
如果主数据库设置了密码,那么还要加上参数 --masterauth [master password]
例如,在本地启动主数据库
redis-server --port 6379
然后启动从数据库
redis-server --port 6380 --slaveof 127.0.0.1 6379
使用两个客户端分别连接到6379和6380,在6379客户端写入数据,在6380客户端可以读取到。
除了在启动Redis服务时使用参数配置主从数据库,也可以在运行时使用SLAVEOF <IP> <PORT>来修改主从复制,
也可以使用SLAVEOF NO NOE命令将当前从数据库提升为主数据库。
主从复制原理:
从数据库启动时,先向主数据库发送SYNC请求,主数据库收到请求后开始在后台保存快照,同时缓存所有接收到的写命令,快照保存完毕后,将快照和缓存的所有命令发送给从数据库。从数据库接收快照,存储并更新到本地RDB文件,再从RDB文件进行恢复,恢复后执行主数据库发过来的缓存命令。
之后的同步,主数据库会将所有的命令通过Redis协议发给从数据库实现数据同步。
标签:
Redis
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~