20160908_Redis主从复制Replication
1、主从redis,安装配置都是一样的。下面开始从服务器的配置。
参考的网址为:http://yanliu.org/2015/08/27/Redis%E4%B8%BB%E4%BB%8E%E5%A4%8D%E5%88%B6%E7%9A%84%E5%AE%9E%E7%8E%B0/
2、配置文件"/etc/redis/6379.conf"
2.1、“# slaveof <masterip> <masterport>” 的下面写上
“# slaveof 192.168.1.235 6379”
2.2、“# masterauth <master-password>” 的下面写上
“# masterauth 123456”
3、客户端是运行状态的话,配置修改后 需要 执行操作 "/etc/init.d/redis_6379 restart"
ZC: 貌似这一步不是必须的...
4、主服务器的“/var/log/redis_6379.log”文件中,会出现 类似如下的信息:
- 2169:M 08 Sep 15:48:15.331 * Slave 192.168.1.17:6379 asks for synchronization
- 2169:M 08 Sep 15:48:15.331 * Full resync requested by slave 192.168.1.17:6379
- 2169:M 08 Sep 15:48:15.331 * Starting BGSAVE for SYNC with target: disk
- 2169:M 08 Sep 15:48:15.332 * Background saving started by pid 4167
- 4167:C 08 Sep 15:48:15.517 * DB saved on disk
- 4167:C 08 Sep 15:48:15.517 * RDB: 6 MB of memory used by copy-on-write
- 2169:M 08 Sep 15:48:15.577 * Background saving terminated with success
- 2169:M 08 Sep 15:48:15.577 * Synchronization with slave 192.168.1.17:6379 succeeded
5、测试操作
5.1、Mater端
- [root@localhost ~]# redis-cli
- 127.0.0.1:6379> auth 123456
- OK
- 127.0.0.1:6379> info replication
- # Replication
- role:master
- connected_slaves:1
- slave0:ip=192.168.1.17,port=6379,state=online,offset=505,lag=1
- master_repl_offset:505
- repl_backlog_active:1
- repl_backlog_size:1048576
- repl_backlog_first_byte_offset:2
- repl_backlog_histlen:504
- 127.0.0.1:6379> set testMasterKey01 "testMasterValue01"
- OK
- 127.0.0.1:6379> get testMasterKey01
- "testMasterValue01"
- 127.0.0.1:6379>
5.2、Slave端(没有设置密码)
- [root@CentOS64x64 redis]# redis-cli
- 127.0.0.1:6379> ping
- PONG
- 127.0.0.1:6379> info replication
- # Replication
- role:slave
- master_host:192.168.1.235
- master_port:6379
- master_link_status:up
- master_last_io_seconds_ago:7
- master_sync_in_progress:0
- slave_repl_offset:713
- slave_priority:100
- slave_read_only:1
- connected_slaves:0
- master_repl_offset:0
- repl_backlog_active:0
- repl_backlog_size:1048576
- repl_backlog_first_byte_offset:0
- repl_backlog_histlen:0
- 127.0.0.1:6379> get testMasterKey01
- "testMasterValue01"
- 127.0.0.1:6379> get testMasterKey02
- (nil)
- 127.0.0.1:6379>
5.2.1、此时,在Slave端 设置key-value,就报错了,说是只读的,不让往里面写
- 127.0.0.1:6379> set testSlaveKey01 "testSlaveValue01"
- (error) READONLY You can't write against a read only slave.
- 127.0.0.1:6379>
ZC: 貌似,也可以配置 使得Slave能够写,但是 有一些说法和限制,具体参看 http://redis.io/topics/replication 中的相关章节("Read-only slave"、"Allow writes only with N attached replicas"等)
6、
7、
8、
20160908_Redis主从复制Replication的更多相关文章
- mysql5.6做单向主从复制Replication
原理场景:MySQL从3.23版本开始提供复制功能.指的是将主数据库的DDL和DML操作通过二进制日志传到从服务器(也叫从库),然后在从库上对这些日志重新执行, 从而使得从库和主库的数据保持同步. 优 ...
- MySQL主从复制(Replication for Backup)
环境:MySQL5.7,VMware-Workstation-12-Pro,Windows-10,CentOS-7.5,Xshell5 1. 基本概念和操作思路 主从复制能做什么 数据库的主从复制,是 ...
- mysql主从复制replication的一些相关命令
主服务器上的相关命令:show master status; mysql> show master status\G . row *************************** Posi ...
- MySQL主从复制(Replication)(MySQL数据同步)配置
MySQL是开源的关系型数据库系统.复制(Replication)是从一台MySQL数据库服务器(主服务器master)复制数据到另一个服务器(从服务器slave)的一个进程. 配置主服务器(mast ...
- Linux MySQL主从复制(Replication)配置
MySQL是开源的关系型数据库系统.复制(Replication)是从一台MySQL数据库服务器(主服务器master)复制数据到另一个服务器(从服务器slave)的一个进程. 配置主服务器(mast ...
- 4、解析配置文件 redis.conf、Redis持久化RDB、Redis的主从复制
1.Units单位 配置大小单位,开头定义了一些基本的度量单位,只支持bytes,不支持bit 对大小写不敏感 2.INCLUDES包含 和我们的Struts2配置文件类似,可以通过includes包 ...
- centos5.4下mysql主从复制
centos5.4下mysql主从复制配置分享. 本文转自:http://www.jbxue.com/article/771.html 安装环境:centos 5.4 mysql版本:mysql 5. ...
- 浅谈mysql主从复制的高可用解决方案
1.熟悉几个组件(部分摘自网络)1.1.drbd —— DRBD(Distributed Replicated Block Device),DRBD号称是 "网络 RAID" ...
- 【Redis学习之八】Redis集群:主从复制
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk8 redis-2.8.18 Redis集群分类: 主从复制 R ...
随机推荐
- PHP 判断客户端是IOS还是Android
<?php if(strpos($_SERVER['HTTP_USER_AGENT'], 'iPhone')||strpos($_SERVER['HTTP_USER_AGENT'], 'iPad ...
- rabbitMQ集群部署以及集群之间同步
MQ集群部署 期待的部署架构 其中,一个机房有两台机器部署MQ,并组成集群,有一个机房的MQ集群作为中心集群,其他机房的MQ集群将消息同步到中心MQ集群中. 安装erlang,略.. 安装rabbit ...
- AFNetWorking 队列请求
我们在开发过程中,经常会遇到有些页面不止一个网络请求,有时候需要两个三个甚至更多,这个时候我们就需要队列请求,下边是GET请求的多个请求放在队列里边: NSURL *url = [NSURL URLW ...
- JQuery + JSON作为前后台数据交换格式实践
JQuery + JSON作为前后台数据交换 JQuery提供良好的异步加载接口AJAX,可以局部更新页面数据, http://api.jquery.com/category/ajax/ JSON作为 ...
- 字节流和字符流(PrintStream类和PrintWiter类)
要想输入和输出各种数据类型,通常要打印输入流PrintStream和PrintWriter.其中,PrintStream操作的是字节,PrintWriter操作的是字符. 1:PrintStream类 ...
- js验证手机号输入是否符合规则
function isPhone(phone){ var myreg = /^(((13[0-9]{1})|15[0-9]{1}|17[0-9]{1}|185|18[0-9]{1})+\d{8})$/ ...
- eclipse中配置tomcat
配置eclipse中的tomcat非常简单,之前以为windows下和mac中可能会不一样,但是经过配置发现是一样的: 下面就是在eclipse中简单的配置tomcat如下(mac和windows中都 ...
- DruidDataSource配置属性列表
DruidDataSource配置兼容DBCP,但个别配置的语意有所区别. 配置 缺省值 说明 name 配置这个属性的意义在于,如果存在多个数据源,监控的时候可以通过名字来区分开来.如果没有配置 ...
- LeetCode: Nim Game
这题其实不太好想,用到了博弈论 1,2,3 能赢 4 输 5,6,7 赢 8 输 9,10,11 赢 12 输 那么结论就是4的倍数就是输,其他情况就能赢. 为什么会是这样呢?很好解释,根源就在4会输 ...
- 蓝灯(lantern)在服务器(vps)上运行
蓝灯(lantern)在无界面的linux下运行的时候,会遇到一个错误: error while loading shared libraries: libappindicator3.so.1: ca ...