高级参考(https://www.zhihu.com/question/21419897)

简单应用场景

现在配置redis 星形 集群, 有三台服务器, 怎样实现?

复制redis.conf两份, 分别命名为redis6380.conf, redis6381.conf

master指向redis.conf, slave1指向6380.conf, slave2指向redis6381.conf

master关闭rdb, 开启aof

slave1开启rdb, 关闭aof

slave2关闭rdb和aof

配置redis6380.conf

#pidfile /var/run/redis.pid    改为
pidfile /var/run/redis6380.pid
...
#port 6379 改为
port 6380
...
#dbfilename dump.rdb 改为
dbfilename dump6380.rdb #让slave1执行rdb工作
...
# slaveof <masterip> <masterport> 改为
slaveof localhost 6379 #表示作为6379的slave
...
appendonly no #aof也不用产生, 因此关闭
...
slave-read-only yes #只读

配置redis6381.conf

pidfile /var/run/redis6381.pid
...
port 6381
...
#save 900 1 #两台从服务器其中一台产生rdb就可以了, 另一台没必要再次产生rdb, 因此注释掉
#save 300 10
#save 60 10000
...
appendonly no #aof也不用产生, 因此关闭
...
slaveof localhost 6379
...
slave-read-only yes #只读

配置redis.conf

#save 900 1    #因为slave1已经存在rdb了, 所以master不在需要rdb
#save 300 10
#save 60 10000
...
appendonly yes #master的aof可以打开, 因为主服务器的aof最全最快

启动, 分别在终端打开:

ql@ql:~$ redis-server /usr/local/etc/redis/redis.conf
ql@ql:~$ redis-server /usr/local/etc/redis/redis6380.conf
ql@ql:~$ redis-server /usr/local/etc/redis/redis6381.conf

启动master的客户端

ql@ql:~$ redis-cli
127.0.0.1:6379> set title sunshine
OK
127.0.0.1:6379>

启动slave1的客户端

ql@ql:~$ redis-cli -p 6380
127.0.0.1:6380> keys * #可以看到master中的内容
1) "title"
127.0.0.1:6380> get title
"sunshine"
127.0.0.1:6380>

启动slave2的客户端

ql@ql:~$ redis-cli -p 6381
127.0.0.1:6381> keys * #也能看到master中的内容
1) "title"
127.0.0.1:6381> get title
"sunshine"
127.0.0.1:6381>

现在要为master设置密码, 即redis.conf

# If the master is password protected (using the "requirepass" configuration
# directive below) it is possible to tell the slave to authenticate before
# starting the replication synchronization process, otherwise the master will
# refuse the slave request.
#
# masterauth <master-password>
requirepass admin123 #新加的一行

再次打开终端

打开reids-server

打开reids-cli

ql@ql:~$ redis-cli
127.0.0.1:6379> keys *
(error) NOAUTH Authentication required. #没有输入密码进行认证
127.0.0.1:6379>
127.0.0.1:6379> auth admin123 #auth+密码进行认证
OK
127.0.0.1:6379> keys *
1) "title"
127.0.0.1:6379> get title
"sunshine"
127.0.0.1:6379>

此时从服务器连不上主服务器, 因为有密码

修改redis6380.conf

# masterauth <master-password>    改为
masterauth admin123

redis6381.conf的修改如上


redis主从复制的缺陷

每次slave断开后(无论是主动断开还是网络故障), 再连接master,

都要 master 全部 dump 出来 rdb 再 aof,

即同步的过程都要执行一遍

所以: 多台slave不要一下同时启动起来, 否则master可能IO剧增, 拖垮master

Redis-简单实现星形主从配置的更多相关文章

  1. redis集群(主从配置)

    市面上太多kv的缓存,最常用的就属memcache了,但是memcache存在单点问题,不过小日本有复制版本,但是使用的人比较少,redis的出现让kv内存存储的想法成为现实.今天主要内容便是redi ...

  2. Redis集群_主从配置

    链接地址http://www.2cto.com/database/201502/377069.html 收藏备用. Redis主从配置(Master-Slave) 一. Redis Replicati ...

  3. Redis四大模式之主从配置

    Redis工作模式主要有单机模式.主从模式(slave).哨兵模式(sentinel).集群模式(cluster)这四种,本文主要讲解一下主从模式的部署方式. 我是windows单机进行的这套搭建操作 ...

  4. Linux之redis的安装,主从配置

    一,redis安装 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(s ...

  5. Redis数据库之服务器主从配置

    目的 主要培养对分布式REDIS主从复制架构运用的能力.理解并掌握REPLICATION工作原理的同时,能独立配置Replication ,使数据库运行在主从架格上.针对主从复制架构的运用,着力掌握S ...

  6. Redis 集群_主从配置_哨兵模式

    首先:slaveof 可以在[从]服务器启动一个service服务,直接将[从]服务器定义为[从Redis] redis-server --slaveof <master-ip> < ...

  7. Redis——学习之路四(初识主从配置)

    首先我们配置一台master服务器,两台slave服务器.master服务器配置就是默认配置 端口为6379,添加就一个密码CeshiPassword,然后启动master服务器. 两台slave服务 ...

  8. Redis 主从配置和参数详解

    安装redis 下载redis wget http://download.redis.io/releases/redis-3.0.7.tar.gz 解压redis tar -xvf redis-.ta ...

  9. Redis安装及主从配置(转)

    一.何为Redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合)和zset(有 ...

随机推荐

  1. python 数据类型 -- set

    0. set : 无序的,不重复的序列. 1. 创建 set s = set() s = set(list) # list 为可迭代对象的即可 s = {1,23,4} 2. 内建方法 1) 一般方法 ...

  2. API 接口规范

    整体规范建议采用RESTful 方式来实施. 1. 协议 API与用户的通信协议,总是使用HTTPs协议,确保交互数据的传输安全. 2. 域名 应该尽量将API部署在专用域名之下. https://a ...

  3. JS采用ActiveXObject实现用户在提交表单时屏蔽敏感词的功能

    本例中敏感词ciku.txt放在C盘根目录下,采用的ActiveXObject插件获取本地文件内容.使用此插件不需网上下插件,直接用如下js代码即可. 浏览器需修改interner安全选项的级别,启用 ...

  4. 石头剪刀布 R语言统计分析

    关于石头剪刀布,做出了详细的分析,具体ppt见地址 http://files.cnblogs.com/files/GMGHZ971322/R%E8%AF%AD%E8%A8%80.pptx 16级电商三 ...

  5. R自带数据包

    datasets(R自带数据包) 作者:王彦博 作品来源:百度百科 precip #长度为70的命名向量 euro #欧元汇率,长度为11,每个元素都有命名 landmasses #48个陆地的面积, ...

  6. 通知栏Notification的整理

    一.介绍 通知栏适用于交互事件的通知,是位于顶层可以展开的通知列表. 二.功能作用 1.显示接收到短消息,及时消息等信息(如QQ.微信.新浪.短信)       2.显示客户端的推送消息(如有新版本发 ...

  7. php5.6在yum下安装gd库

    yum install php-gd --enablerepo=remi,remi-php56 php.ini配置文件中增加 extension=gd.so 重启web服务器即可

  8. 排序算法总结及Java实现

    1. 整体介绍 分类 排序大的分类可以分为两种,内排序和外排序.在排序过程中,全部记录存放在内存,则称为内排序,如果排序过程中需要使用外存,则称为外排序.主要需要理解的都是内排序算法: 内排序可以分为 ...

  9. Spring+Mybatis配置

    Spring+Mybatis配置 之前做项目的时候用到了spring+mybatis框架,一直想抽空整理一下 Mybatis: mybatis是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架 ...

  10. Unity3D-Shader-热扭曲效果

    [旧博客转移 - 2016年1月13日 13:18 ] 前面的话: 本来我是想写一个水的原理的,但是发现涉及的知识太多,还有好多不懂的,所以就先一步一步来 最近呢,我在网上捡到了一本<热扭曲秘籍 ...