Redis主从的特殊测试方法

配置主从

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

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

  1. slaveof redis_master_ip port
  2. masterauth redis_master_password

ex:

  1. slaveof 192.168.1.128 6379
  2. 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. OpenSSL 双向认证

    在使用OpenSSL进行SSL双向认证时,需要在服务器和客户端配置如下接口函数: SSL_CTX_set_verify(SSL_CTX* ctx,int mode,int (*verify_callb ...

  2. dns 服务器配置

    1.安装 named 2.配置如下文件: /etc/named.conf // 2 // named.conf 3 // 4 // Provided by Red Hat bind package t ...

  3. HackerRank "Kundu and Tree" !!

    Learnt from here: http://www.cnblogs.com/lautsie/p/3798165.html Idea is: we union all pure black edg ...

  4. Nginx负载均衡和反向代理设置

    Nginx负载均衡: 格式: upstream 别名 {    #别名一般要有意义,能看出是做什么的 server ip:端口;    #要实现负载的服务器的ip.端口号}  例: upstream ...

  5. DDD学习笔记二

    参考:感谢博主的分享... http://www.cnblogs.com/netfocus/archive/2012/02/12/2347938.html DDD ==> 领域驱动设计(Doma ...

  6. 关于学习Perl

    Perl是一门很有用的语言,可以用它来做很多事.然而,它也仅是一门语言,掌握了Perl,你只是掌握了Computer领域的一小块知识.在学习Perl前,请明确你的学习目的,并采用正确的学习方法和资源. ...

  7. 1. redis简介

    一. redis简介 Redis是一种面向"键/值"对数据类型的内存数据库,可以满足我们对海量数据的读写需求. redis的键只能是字符串,redis的值支持多种数据类型: (1) ...

  8. c++ std::sort函数调用经常出现的invalidate operator<错误原因以及解决方法

    在c++编程中使用sort函数,自定义一个数据结构并进行排序时新手经常会碰到这种错误. 这是为什么呢?原因在于什么?如何解决? 看下面一个例子: int main(int, char*[]) { st ...

  9. Linux使用笔记: 定制core dump文件的文件名

    在开发过程中,当一个Linux程序异常退出时,我们可以通过core文件来分析它异常的详细原因.缺省情况下,Linux在程序异常时不产生core文件,要想让程序异常退出时产生core dump文件,需要 ...

  10. 优化studio的速度

    随着Android Studio开发工具的逐渐成熟,越来越多的程序员选择这种IDE工具来进行开发,但是android studio在使用过程中有时候会出现卡顿问题.在赶项目的时候,遇到这类问题最是苦恼 ...