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. Discuz!NT 3.9.913 Beta DIY过程

    前提: 论坛的源码版本为dnt_3.9.913_sqlserver_beta.zip,以下例子都以这个版本为原型修改 dnt_3.9.913数据字典:下载 目前(2013年10月21日)官网的asp. ...

  2. Android中的布局优化方法

    http://blog.csdn.net/rwecho/article/details/8951009 Android开发中的布局很重要吗?那是当然.一切的显示样式都是由这个布局决定的,你说能不重要吗 ...

  3. 黄聪:利用Aspose.Word控件实现Word文档的操作(转)

    撰写人:伍华聪  http://www.iqidi.com  Aspose系列的控件,功能都挺好,之前一直在我的Winform开发框架中用Aspose.Cell来做报表输出,可以实现多样化的报表设计及 ...

  4. 在C#中子线程如何操作主线程中窗体上控件

    在C#中,直接在子线程中对窗体上的控件操作是会出现异常,这是由于子线程和运行窗体的线程是不同的空间,因此想要在子线程来操作窗体上的控件,是不可能 简单的通过控件对象名来操作,但不是说不能进行操作,微软 ...

  5. ADF_General JSF系列2_创建JSF类型的页面向导

    2015-02-17 Created By BaoXinjian

  6. OAF_VO系列1 - Accelerator Keys

    OAF_EO系列6 - Delete详解和实现(案例) (2014-06-16 08:37)

  7. kuangbin RMQ

    这是kuangbin的RMQ,一维的,代码很简洁,附上: //kuangbin templet(查询最大值) 一维 //若想查最小,看提示更改 + ; ];//第二维是范围,即2^20约等于100万 ...

  8. JadClipse eclipse反编译插件

    A.下载JadClipse,http://jadclipse.sourceforge.net/wiki/index.php/Main_Page#Download,注意选择与eclipse版本一致的版本 ...

  9. UIAlertView用法

    1. 最简单的用法 UIAlertView*alert = [[UIAlertView alloc]initWithTitle:@"提示" message:@"这是一个简 ...

  10. 改变select组件的option选中状态的快捷方法

    以前我都是在<option>标签处通过判断value是否与其中一个相同然后输出selected="selected"来处理的,今天发现可以直接能过Js改变<sel ...