redis3.0 主从

两个实例:6000为主,6001为从。
主实例配置如下:
# replication
repl-diskless-sync no
repl-ping-slave-period 10
repl-timeout 60
repl-backlog-size 100mb
repl-backlog-ttl 3600
# 参数解释
repl-diskless-sync: 主从同步数据的方式,no表示使用磁盘(先生成rdb文件然后同步到salve进行加载),ye表示使用网络的方式无需磁盘参与,适合网络质量好磁盘读写慢的环境。
repl-timeout: 主从关系存活的超时时间,必须必repl-ping-slave-period大,否则没来得及做存活检查就超时了。
repl-ping-slave-period:slave向master发送存活检查ping的时间间隔。
从实例配置如下:
# replication
slave-read-only yes
slaveof 127.0.0.1 6000
masterauth 8a6715
主从配置完后,从库只能读无法响应写入的请求:
127.0.0.1:6001> set key2 value2
(error) READONLY You can't write against a read only slave.

手动主从切机

在主宕机时,需要先手动关闭主库,再在从机上关闭主从关系,从库便可写入
127.0.0.1:6001> slaveof NO ONE
OK
127.0.0.1:6001> set key100 value100
OK
127.0.0.1:6001> get key100
"value100"
127.0.0.1:6001>
假设原先的主库ok了,需要切回去。
将从库的数据save为 *.rbd 文件,拷贝到主库的数据目录中覆盖原有的,并启动主库
    127.0.0.1:6001> save
OK
127.0.0.1:6001> quit
[root@baseos-1_192.168.31.140 ~]# cp /data/database/redis/redis6001.rdb /data/database/redis/redis6000.rdb
cp: overwrite `/data/database/redis/redis6000.rdb'? y
[root@baseos-1_192.168.31.140 ~]# /root/redis6000.start
[2017-06-16 11:06:40] Redis-3.2.7 start ok, port: 6000.
[root@baseos-1_192.168.31.140 ~]#./redis6000.login
127.0.0.1:6000> keys *
1) "key_6000_new"
2) "key_6001"
3) "key100"
4) "key_6000"
5) "key_1"
127.0.0.1:6000>
从库重新做主从
[root@baseos-1_192.168.31.140 ~]# ./redis6001.login
127.0.0.1:6001> slaveof 127.0.0.1 6000
OK
127.0.0.1:6001> set aa bb
(error) READONLY You can't write against a read only slave.
127.0.0.1:6001> quit
[root@baseos-1_192.168.31.140 ~]# ./redis6000.login
127.0.0.1:6000> keys *
1) "key_6000_new"
2) "key_6001"
3) "key100"
4) "key_6000"
5) "key_1"
127.0.0.1:6000> set new_key new_value
OK
127.0.0.1:6000> quit
[root@baseos-1_192.168.31.140 ~]# ./redis6001.login
127.0.0.1:6001> get new_key
"new_value"
127.0.0.1:6001>

redis3.0 主从的更多相关文章

  1. CentOS完美搭建Redis3.0集群并附测试

    线上的统一聊天和推送项目使用的是redis主从,redis版本2.8.6 redis主从和mysql主从目的差不多,但redis主从配置很简单,主要在从节点配置文件指定主节点ip和端口:slaveof ...

  2. redis-3.0.0集群的安装及使用

    redis集群需要至少6个节点(偶数节点),3个主节点,3个从节点.注意:集群模式最好不要keys *查询数据. 1 下载redis,官网下载3.0.0版本,之前2.几的版本不支持集群模式.下载地址: ...

  3. redis3.0集群搭建

    生产环境中准备使用redis3.0集群了,花了一天时间研究了一下,下面记录一下集群搭建的过程. 服务器规划: 192.168.116.129    7000,7003 192.168.116.130 ...

  4. linux安装redis-3.0.7

    一.Redis介绍 1.简介 Redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcache类似,但很大程度补偿了Memcache的不足,它支持存储的value类 ...

  5. redis3.0.3集群搭建

    redis3.0版本之后支持Cluster,具体介绍redis集群我就不多说,了解请看redis中文简介. 首先,直接访问redis.io官网,下载redis.tar.gz,现在版本3.0.3,我下面 ...

  6. Python并发编程-redis-3.0.5 源码安装

    1.简介 Remote Dictionary Server(Redis)是一个基于 key-value 键值对的持久化数据库存储系统.redis 和 Memcached 缓存服务很像,但它支持存储的 ...

  7. redis-3.0.6安装

    此redis用来缓存跨屏账户绑定信息,安装步骤如下: ssh root@redis.td.com ,注意是root用户 tar -xzvf /nfs/install/softs/redis-3.0.4 ...

  8. redis-3.0.0安装

    redis-3.0.0安装 前言 redis是常用的no-sql数据库,常用于缓存数据,同时,他也可以持久化数据.他是C语言开发的,所以安装的时候需要编译. 单机版redis yum install ...

  9. 【Redis3.0.x】实战案例

    Redis3.0.x 实战案例 简介 <Redis实战>的学习笔记和总结. 书籍链接 初识 Redis Redis 简介 Redis 是一个速度非常快的键值对存储数据库,它可以存储键和五种 ...

随机推荐

  1. Openresty 安装第三方插件

    Openresty 安装第三方插件 程序媛没有夜生活 2016.08.02 15:33* 字数 167 阅读 1283评论 0喜欢 2 在安装之前,我们先来看一下我们现有的模块. 1.将需要安装的插件 ...

  2. 百度云同同步盘 mac版

    百度云同步盘

  3. [LeetCode] 系统刷题1_代码风格及边界

    代码风格 说自己不清楚的算法,比如KMP,如果解释不清楚或者写不出来的算法建议不提 注意代码的缩进以及空格的合理运用,使得代码看起来比较整洁有条理 注意边界的条件以及越界 误区: 算法想出来还仅仅不够 ...

  4. node代码打包为 exe文件---端口进程关闭demo

    最近用到 java,用tomcat起的服务,经常服务关了,对应的进程还在跑,导致再次启动服务失败,需要手动关闭进程. 使用 dos命令虽然只有两行,总是输,也很烦. netstat -ano | fi ...

  5. selenium + python 测试环境搭建 (WINDOWS)

    1. 下载Python , 运行.exe -> http://python.org/getit/ 2. 下载Python Setuptools 基础包管理工具安装,官方文档参考 https:// ...

  6. Linux学习笔记:常用100条命令(三)

    linux常用命令 1.查看当前yum源 yum list 2.查看电脑以及操作系统的相关信息 uname -a 3.查看当前版本信息 cat /proc/version 4.查看发行版本信息 cat ...

  7. CentOS6.5 安装Kafka集群

    1.安装zookeeper 参考文档:http://www.cnblogs.com/hunttown/p/5452138.html 2.下载:https://www.apache.org/dyn/cl ...

  8. python入门第二篇

    整体注释:ctrl+? 1.运算符 +  -  *  /   //(取商) **(幂) %(求余) 判断某个东西是否在某个东西里面包含:  in           not in 不等于: <& ...

  9. mysql基础常用命令

    数据库 1查询 Select * From table select host,user,password from mysql.user where user='ybb' and host='%'; ...

  10. java.lang.ClassNotFoundException: org.hibernate.engine.FilterDefinition的解决方案

    今天在GitHub上面看到一个有意思的项目,下载下来,使用tomcat部署失败,出现异常,网上说JDK版本太高,改低,还是失败. 由于本人有个习惯,更喜欢把项目直接放入tomcat webapps 里 ...