NoSQL之Redis高级实用命令详解--安全和主从复制
一、安全性
为redis设置密码:设置客户端连接后进行任何其他指定前需要实用的密码。
警告:因为redis速度非常快,所以在一台较好的服务器下,一个外部用户可以在一秒钟进行150k次的密码尝试,这意味着你需要指定非常非常强大的密码来防止暴力破解。
修改密码的方法:
只需要在redis的配置文件redis.conf中开启requirepass就可以了,比如我设置我的访问密码是mypassword
requirepass mypassword
在redis.conf中加入这一行代码之后,我们杀死原来的redis进程:pkill redis然后重新启动redis:/usr/local/redis-2.8.1/src/redis-server /user/local/redis-2.8.1/redis.conf
然后我们用/usr/local/redis-2.8.1/src/redis-cli发现还能登陆进来,但是当我们执行操作的时候,比如keys *就会如下错误:
127.0.0.1:6379> keys *
(error) NOAUTH Authentication required.
没有必要的授权验证。
在这里redis支持两种授权方式,一种就是直接用auth命令进行授权:

第一次输入了一个错误的密码test,授权失败,第二次输入正确的密码,返回ok,授权成功,之后就可以进行所有的操作。
如果我们不想每次登录进来之后都要用auth进行授权,那么我们可以采用另一种授权方式,就是在登陆客户端的时候用-a 来指定密码
sh-3.2# /usr/local/redis-2.8.1/src/redis-cli -a mypassword
上面的密码如果输错,也能进入,但是之后不能进行操作。需要用auth重新进行授权。
二、主从复制
Redis主从复制配置和使用都非常简单。通过主从复制可以允许多个slave server拥有和master server相同的数据库副本。
redis主从复制的特点:
1.一台master可以拥有多个slave(1对多的关系)
2.多个slave可以连接同一个master外,还可以连接到其他slave(这样做的原因是如果masterdown掉之后其中的一台slave立马可以充当master的角色,这样整个服务流程不受影响)
3.中从复制不会阻塞master,在同步数据的同时,master可以继续处理client请求。
4.提高系统的伸缩性
redis主从复制的过程:
1.slave与master建立连接,发送sync同步命令。
2.Master会启动一个后台进程,将数据库快照保存到文件中,同时master主进程会开始收集新得写命令并缓存。
3.后台完成保存后,将文件发送给slave
4.slave将文件保存到硬盘上
配置主从服务器:
配置slave服务器很简单,只需要在slave的配置文件中加入以下配置:
slaveof masterip masterport
如果主机开启了登录验证,那么还需要加入下面这句:
masterauth authpassword
然后启动从机,首先主机会发快照给从机,从机的数据库会更新到和主机相同的状态,然后往主机里写内容,从机也会随之更新。
如果我们在从机上写数据那么会报错:
(error) READONLY You can't write against a read only slave.
我们可以用info命令来查看主从服务器的信息,在从机上用info命令可以看到
role:slave
master_host:masterip
master_port:masterport
master_link_status:up证明和主机处在连接状态
在主机上用info命令
role:master
同时连接着几台从机
connected_slaves:1
同时可以查看连接到主机上的从机的ip和在线状态
slave0:ip=192.168.1.107,port=6379,state=online,offset=1709,lag=1
原文地址:http://blog.csdn.net/liutingxu1/article/details/17116107
NoSQL之Redis高级实用命令详解--安全和主从复制的更多相关文章
- Redis高级客户端Lettuce详解
前提 Lettuce是一个Redis的Java驱动包,初识她的时候是使用RedisTemplate的时候遇到点问题Debug到底层的一些源码,发现spring-data-redis的驱动包在某个版本之 ...
- Redis(2):常用命令详解
redis命令不区分大小写 通用命令:1. 获得符合规则的键名列表: keys pattern 其中pattern符合glob风格 ? (一个字符) * (任意个字符) [] (匹配其中的任意一 ...
- 【转载】Redis sort 排序命令详解
转载地址:http://www.jb51.net/article/69131.htm 本文介绍redis排序命令 redis支持对list,set,sorted set元素的排序 sort 排序命令格 ...
- redis之expire命令详解
expire是设置redis过期时间的命令,需要注意的点有以下几点 expire设置过期时间的单位是秒,如设置name的过期时间为1000秒 expire name 1000 超过时间后会自动删除 ...
- Redis 配置文件及命令详解
==基本配置 daemonize no 是否以后台进程启动 databases 16 创建database的数量(默认选中的是database 0) save 900 1 #刷新快照到硬盘中,必须满足 ...
- 8、Redis中sort命令详解
写在前面的话:读书破万卷,编码如有神 ------------------------------------------------- 1.排序 (1)sort:可以对List.Set.ZSet里面 ...
- 网工最实用最常用的网络命令之一——Ping 命令详解(一)
Ping是Windows.Unix和Linux系统下的一个命令.ping也属于一个通信协议,是TCP/IP协议的一部分.利用“ping”命令可以检查网络是否连通,可以很好地帮助我们分析和判定网络故障. ...
- Python操作redis系列以 哈希(Hash)命令详解(四)
# -*- coding: utf-8 -*- import redis #这个redis不能用,请根据自己的需要修改 r =redis.Redis(host=") 1. Hset 命令用于 ...
- net user命令详解
net use \\ip\ipc$ " " /user:" " 建立IPC空链接 net use \\ip\ipc$ "密码" /user: ...
随机推荐
- javascript正则表达式替换字符串
var reg = /^per_list(.*)[\d]{1,}(.*)/;var str = "per_listAmtApril1.value";var replaceStr = ...
- php大力力 [012节]PHP连接mySQL数据库
php大力力 [012节]PHP连接mySQL数据库 1.用简单的php测试代码,而不是直接进入前端页面,越简单越好 2.在=号前后,不要写空格,万一写了中文空格,排除错误很麻烦. 3.我在mysql ...
- Unity3D ShaderLab 立方体图的菲涅尔反射
Unity3D ShaderLab 立方体图的菲涅尔反射 菲涅尔反射是反射类型中比较常见的一种类型,当我们的视线正对物体表面,那么反射量会明显增加, 我们几乎可以在任何支持反射类型的物体表面看到这种情 ...
- Linux基础入门(新版)(实验九-实验十二)
实验九 简单文本入门 一.常用的文本处理命令 二.文本处理命令 1.tr 命令 tr 命令可以用来删除一段文本信息中的某些文字.或者将其进行转换. 使用方式: tr [option]...SET1 [ ...
- 重学STM32---(十) ——CAN通信(二)
CAN协议是非常难的,但是在stm32中却是简单的,只需要我们配置寄存器即可,,,即使这样,我在学习的时候也遇到了许多困难 1.开时钟,不用说 2.设置GPIO口,,CAN_TX复用推挽输出,CAN_ ...
- 第二个sprint第六天
讨论地点:qq 讨论成员:邵家文.李新.朱浩龙.陈俊金 今天完成:统计功能前期工作已经完成,暂时对它进行搁置. 开发感悟:今天回了乡下吃了一顿饭,发现还是乡下环境好,比较适合在那种环境下 ...
- MINIX3 导读分析
一个操作系统的分析是属于一个非常庞大的工程,操作系统就像是一个人造的 人,每一个模块想完全发挥功效,很有可能需要很多模块的支持才能够实现.所 以在分析 MINIX3 时,我认为同时看多个模块对于理解 ...
- 使用StringBuilder更高效的处理字符串
前言 本文介绍一个java中处理字符串的技巧 - 使用StringBuilder提高字符串处理效率. StringBuilder 当程序要频繁的进行字符串拼接的时候,直接使用String效率会比较低. ...
- 五 浅谈CPU 并行编程和 GPU 并行编程的区别
前言 CPU 的并行编程技术,也是高性能计算中的热点,也是今后要努力学习的方向.那么它和 GPU 并行编程有何区别呢? 本文将做出详细的对比,分析各自的特点,为将来深入学习 CPU 并行编程技术打下铺 ...
- Codeforces Round #370 (Div. 2) A B C 水 模拟 贪心
A. Memory and Crow time limit per test 2 seconds memory limit per test 256 megabytes input standard ...