Redis主从是否生效的特殊测试方法
2015-10-28 00:50
369 查看
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访问限定。**
现在的互联网犹如《三体》小说里面的黑暗森林的猜疑链推论:只要暴漏你的位置,威胁会马上过来。
若一个文明通过某种方式得知另一文明存在的可能性,则有一定概率发动不加侦查的随意打击。由于具有打击能力的文明数量极多,因此一个坐标(无论是否真的具有文明)暴露后几乎必然受到随意性质的打击。
“一个黑暗森林中的猎手……突然看到……所有猎手都能认出的字标示出的森林中的一个位置……假设林中有一百万个猎手(在银河系上千亿颗恒星中存在的文明数量可能千百倍于此),可能有九十万个对这个标示不予理会;在剩下的十万个猎手中,可能有九万个对那个位置进行探测,证实其没有生物后也不予理会;那么在最后剩下的一万个猎手中,肯定有人会做出这样的选择:向那个位置开一枪试试,因为对技术发展到某种程度的文明来说,攻击可能比探测省力,也比探测安全,如果那个位置真的什么都没有,自己也没什么损失。”
相关文章推荐
- ubuntu redis php 安装
- 基于Nginx + Tomcat 7 + Redis session共享
- Redis 【keys】 一句话说明
- [转载] 深入剖析 redis 主从复制
- [转载] redis 的两种持久化方式及原理
- 新浪微博关系服务与Redis的故事
- phpredis中文手册——《redis中文手册》 php版
- 原windows下安装redis
- Ubuntu server 15.0.4 Redis相关笔记及配置参数说明
- Spring-data-redis:特性与实例--转载
- Redis__WindowsServer主从服务部署及调用实例
- centos 6.5 安装 redis
- Redis快速入门
- Redis开启auth验证以及在PHP中的使用
- .net 数据缓存(二)之Redis部署
- Redis命令参考【EXPIRE】
- redis配置文件详解(转)
- 用Redis存储Tomcat集群的Session
- redis集群实战
- Redis学习笔记(七)进阶之事务