Redis主从的特殊测试方法

配置主从

Redis的主从设定,相较于MySQL的主从,配置起来非常简单,不必像MySQL数据库一样手动记录bin log的位置再配置,但又可以像MySQL一样,一主带多从,从机再带从机。

主从的配置,只需要从机加上两条配置,重启即可

slaveof  redis_master_ip port
masterauth redis_master_password

ex:

slaveof 192.168.1.128 6379
masterauth redis123

配置之后重启一下redis即可

检查主从生效的方法

  • 1 redis-cli(前提是已经安装)

首先输入info,会提示没有被认证

127.0.0.1:6379> info

NOAUTH Authentication required.

当然这种情况下redis有密码的限定,这时候输入:

127.0.0.1:6379> auth redis_password

OK

输入密码auth 密码,即可进入redis,再次执行info,就可以查看当前redis里面的大致情况了,数据存储的查询,就使用redis命令查看即可。


  • 2 万能的日志

这种情况一般多是运维同学找不到问题的时候,常用的第一招。Redis的日志存放的位置,在配置文件中有指定,配置项为: logfile

ex:

logfile /var/log/redis/redis.log

日志输出的等级分为:debug verbose notice warning ,debug最低,warning最高,低级写入日志中的信息越多,warning写入的信息越少。一般想要看主从是否开始,设定notice级别即可,verbose级别可以看到tcp链接的信息。

[27150] 27 Oct 20:56:42.822 * DB loaded from disk: 0.000 seconds

[27150] 27 Oct 20:56:42.822 * The server is now ready to accept connections on port 6379

[27150] 27 Oct 20:56:42.822 * Connecting to MASTER 192.168.1.128:6379

[27150] 27 Oct 20:56:42.822 * MASTER <-> SLAVE sync started

[27150] 27 Oct 20:56:42.824 * Non blocking connect for SYNC fired the event.

[27150] 27 Oct 20:56:42.826 * Master replied to PING, replication can continue...

[27150] 27 Oct 20:56:42.832 * (Non critical) Master does not understand REPLCONF capa: -ERR Unrecognized REPLCONF option: capa

[27150] 27 Oct 20:56:42.832 * Partial resynchronization not possible (no cached master)

[27150] 27 Oct 20:56:42.835 * Full resync from master: eeb6ea40604801a18678f4bfd7c6aad831e14b17:272243640433

上面的信息是Redis 从机上日志的信息,基本可以认为是已经再同步了,当然不放心的情况下,运维同学可以去master上也查看一下日志,看看是否已经完全开始同步了。


  • 3 telnet

telnet工具,没啥说的。

通信方式:明文

使用难度:低

在从主机(slave)执行:

telnet 192.168.1.128 6379

Trying 192.168.1.128...

Connected to 192.168.1.128.

Escape character is '^]'.

接着执行:

auth redis123

+OK

SYNC

上面两条命令,第一条会明文认证,类似与方法1中的认证,SYNC命令是redis主从主机之间发起同步的指令信息,同样是明文。

执行完成之后,可以查看master主机上的日志信息,来确定master是否已经开始把内存中的数据,写入到硬盘。如果此类信息没有问题,从机(slave)上在执行为SYNC命令之后,会收到master主机传来数据,当然会是一堆乱码。

如果从机接受到了这些乱码,证明主从已经是OK的了。


另类的需求做安全

redis的主从,一般不会在公网上进行传输,毕竟谁会拿公网带宽做快速变化数据的同步,况且还是明文传输的信息,包括redis的密码。

另类的debug,当然会是在另类的场景。例如:redis数据非常的多,10G以上的级别,又遇上了跨机房的非中断业务搬迁,在现在互联网创业公司用云主机的情况下还是可能会遇到的。

** 一定一定一定要对两个公网上做redis主从的机器做防火墙上的端口 IP访问限定。**

现在的互联网犹如《三体》小说里面的黑暗森林的猜疑链推论:只要暴漏你的位置,威胁会马上过来。

若一个文明通过某种方式得知另一文明存在的可能性,则有一定概率发动不加侦查的随意打击。由于具有打击能力的文明数量极多,因此一个坐标(无论是否真的具有文明)暴露后几乎必然受到随意性质的打击。

“一个黑暗森林中的猎手……突然看到……所有猎手都能认出的字标示出的森林中的一个位置……假设林中有一百万个猎手(在银河系上千亿颗恒星中存在的文明数量可能千百倍于此),可能有九十万个对这个标示不予理会;在剩下的十万个猎手中,可能有九万个对那个位置进行探测,证实其没有生物后也不予理会;那么在最后剩下的一万个猎手中,肯定有人会做出这样的选择:向那个位置开一枪试试,因为对技术发展到某种程度的文明来说,攻击可能比探测省力,也比探测安全,如果那个位置真的什么都没有,自己也没什么损失。

Redis主从是否生效的特殊测试方法的更多相关文章

  1. redis主从遇到的两个坑

    最近在使用redis主从的时候做了下面两件事情: 1 希望redis主从从操作上分析,所有写操作都在master上写,所有读操作都在从上读. 2 由于redis的从是放在本地的,所以有的key的读写操 ...

  2. redis主从,哨兵回忆手册

    redis主从 持久化的开启与主从集群是否生效无关系 Slave Server同样是以非阻塞的方式完成数据同步.在同步期间,如果有客户端提交查询请求,Redis则返回同步之前的数据(注意初次同步则会阻 ...

  3. Redis主从+KeepAlived实现高可用

    Redis是我们当下比较流行使用的非关系数据库,可支持多样化的数据类型,多线程高并发支持,redis运行在内存拥有更快的读写.因为redis的表现如此出色,如何能保障redis在运行中能够应对宕机故障 ...

  4. centos部署redis主从

    安装环境 CentOS 6.5 .CentOS 7.4 主Redis:10.159.44.175 从Redis: 10.159.44.176.10.159.44.177 Redis下载和安装 在3台机 ...

  5. 利用Sentinel实现Redis主从切换

    利用Sentinel(哨兵)实现Redis集群的故障自主切换 首先部署redis主从集群,主要安装过程: cd redis make make install 主要看配置文件: master: bin ...

  6. redis主从配置+sentinel哨兵

    redis主从配置+sentinel哨兵 1:编译环境准备 1.1环境确认 Redis是一个开源.支持网络.基于内存.键值对存储数据库,使用ANSI C编写.所以在搭建Redis服务器时需要C语言的编 ...

  7. redis 主从 及集群

    一.redis 主从架构 搭建redis 主从   (可以用一台主机,也可以两台主机) 环境准备: 一台服务器:192.168.206.6 操作系统:CentOS7.5 redis 版本: redis ...

  8. Redis 主从配置密码以及哨兵

    目录: Redis 主从介绍 哨兵机制 Redis 主从配置 环境 安装 启动服务 检查主从状态 测试数据同步 默认是读写分离的 Redis Sentinel 配置 主Redis宕机测试 配置多个哨兵 ...

  9. redis 主从、哨兵、集群

    出处: redis主从复制和哨兵 Redis集群方式共有三种:主从模式,哨兵模式,cluster(集群)模式 一.Redis主从复制 主从复制:主节点负责写数据,从节点负责读数据,主节点定期把数据同步 ...

随机推荐

  1. apidoc,一个相当不错的文档生成器

    http://apidocjs.com/ 例子:myapp目录下的MyCode.java /** * * @api {get} /company/list 获取公司信息 * @apiName 获取公司 ...

  2. item3 二维数组中的查找[剑指offer]

    题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序. 请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有这个整数? 8 9 思路:查找7 ...

  3. (WPF, MVVM) Event 处理

    WPF的有些UI元素有Command属性可以直接实现绑定,如Button 但是很多Event的触发如何绑定到ViewModel中的Command呢? 答案就是使用EventTrigger可以实现. 继 ...

  4. Hbase伪分布式

    其实我就是要让数据存储在hdfs上而已........ 多配置点东西就好了,在hbase-site.xml中加入: <configuration> <property> < ...

  5. Spark工程开发常用函数与方法(Scala语言)

    import org.apache.spark.{SparkContext, SparkConf}import org.apache.spark.sql.{SaveMode, DataFrame}im ...

  6. SOA_环境安装系列5_Oracle ADF安装SOA Extensions(案例)

    2015-01-02 Created By BaoXinjian

  7. DBA_Oracle冷备份和热备份的处理(概念)

    2014-07-27 Created By BaoXinjian

  8. PLSQL_闪回删除FlashBack Delete表误删除如何进行恢复(案例)

    2014-07-02 Created By BaoXinjian

  9. Report_SRW在RDF中初始化的重要性(案例)

    2015-02-01 Created By BaoXinjian 一.摘要 在开发oracle report(report 6i)的时候,常常会用到fnd_global或fnd_profile来获取当 ...

  10. HDU 3709 Balanced Number (数位DP)

    Balanced Number Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/Others) ...