本篇内容主要讲解“redis主从复制怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“redis主从复制怎么实现”吧!
一、介绍 redis的复制功能是支持多个数据库之间的数据同步。一类是主数据库(master)一类是从数据库(slave),主数据库可以进行读写操作,当发生写操作的时候自动将数据同步到从数据库,而从数据库一般是只读的,并接收主数据库同步过来的数据,一个主数据库可以有多个从数据库,而一个从数据库只能有一个主数据库。 通过redis的主从复制功能可以很好的实现数据库的读写分离,提高服务器的负载能力,主服务器主要负责写操作,从服务器主要负责读操作 主从复制的过程: 1:当一个从数据库启动时,会向主数据库发送sync命令, 2:主数据库接收到sync命令后会开始在后台保存快照(执行rdb操作),并将保存期间接收到的命令缓存起来 3:当快照完成后,redis会将快照文件和所有缓存的命令发送给从数据库。 4:从数据库收到后,会载入快照文件并执行收到的缓存的命令。 注意:redis2.8之前的版本:当主从数据库同步的时候从数据库因为网络原因断开重连后会重新执行上述操作,不支持断点续传。redis2.8之后支持断点续传 注意:从 Redis 2.8 开始, 为了保证数据的安全性, 可以通过配置min-slaves-to-write, 让一个主节点在至少有N个从节点的情况下才能执行写操作。从节点以每秒一次的频率ping主节点,主节点会记录各个从服务器最后一次向它发送ping的时间。用户可以通过配置, 指定网络延迟的最大值 min-slaves-max-lag以及执行写操作所需的最少从服务器数量 min-slaves-to-write min-slaves-to-write 3 min-slaves-max-lag 10 如果至少有 min-slaves-to-write 个从服务器, 并且这些服务器的延迟值都少于 min-slaves-max-lag 秒, 那么主服务器才会执行客户端请求的写操作。只要有一个条件不满足,写操作就不会执行,主服务器会向请求执行写操作的客户端返回一个错误。 二、主从复制的部署: Redis主从结构支持一主多从 主节点:192.168.1.170 从节点:192.168.1.171 注意:所有从节点的配置都一样 方式1:手动修改配置文件 只需要额外修改从节点中redis的配置文件中的slaveof属性即可 slaveof 192.168.1.170 6379 启动170主节点上面的redis,查看redis的info信息(执行info命令 ) 启动171从节点上面的redis ,查看redis的info信息 方式2:动态设置 通过redis-cli 连接到从节点服务器,执行下面命令即可。 slaveof 192.168.1.170 6379 三、主从复制需要注意的问题: ① 如果你使用主从复制,那么要确保你的master激活了持久化,或者确保它不会在当掉后自动重启。slave是master的完整备份,因此如果master通过一个空数据集重启,slave也会被清掉。 ②在配置redis复制功能的时候如果主数据库设置了密码,需要在从数据的配置文件中通过masterauth参数设置主数据库的密码,这样从数据库在连接主数据库时就会自动使用auth命令认证了。相当于做了一个免密码登录。
到此,相信大家对“redis主从复制怎么实现”有了更深的了解,不妨来实际操作一番吧!这里是恰卡编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
php如何让Swoole/Pool进程池实现Redis持久连接
php如何让Swoole/Pool进程池实现Redis持久连接本篇...
php操作redis大全记录
php连接redis测试˂?php$redis=newRedis();$redis-˃conne...
PHP经典高级工程师面试题
1.PHP如何实现不用自带的cookie函数为客户端下发cookie。对于分布式系统,如何来保存session值...
PHP操作Redis数据库
php利用redis防止商品超发来限制抢购,简单又实用
php如何实现秒杀功能?php+redis模拟简单抢购场景,快来看看吧
PHP高级工程师面试题
Laravel结合Redis发送邮箱验证码
使用redis缓存实现多服务器PHP sessions共享
PHP用redis的有序集合zset实现延迟队列
用户名
密码
记住登录状态 忘记密码?
邮箱
确认密码
我已阅读并同意 用户协议