django

Django-36 Redis-5 主从复制

2021-12-19  本文已影响0人  JuliusL

基础概念

高可用-是系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务的时间。
目标:消除基础架构中的单点故障
redis单进程单线程,如果redis进程挂掉,相关依赖的服务就难以正常服务

主从复制

1、一个redis服务可以有多个该服务的复制品,这个redis服务成为master,其他复制品成为slaves
2、master会一直将自己的数据更新同步给slaves,保持主从同步
3、只有master可以执行写命令,slave只能执行读命令

作用:分担了读的压力(高并发);提高可用性
原理:从服务器执行客户端发送的读命令,客户端可以连接slaves执行读请求,来降低master的读压力

实现方式1:命令

命令:redis-server --slaveof <master-ip><master-port>--masterauth <master password>

# 从服务器
redis-server --port 6300 --slaveof 127.0.0.1 6379
# 从客户端
redis-cli -p 6300
# 发现是复制了原6379端口的redis中数据
127.0.0.1:6300> set mykey 123
(error) READONLY You can't write against a read only slave.
# 从服务器只能读数据,不能写数据

实现方式2:配置文件

# 每个redis服务,都有1个和他对应的配置文件
# 两个redis服务
1、6379 -> /etc/redis/redis.conf
2、6300 -> /home/tarena/redis_6300.conf

# 修改配置文件
vi redis_6300.conf
slaveof 127.0.0.1 6379
port 6300

`

上一篇 下一篇

猜你喜欢

热点阅读