Redis的重要特性
- 安全性
- 主从复制
- 事务处理
- 持久化机制
- 发布订阅消息
- 虚拟内存使用
1. 安全性
安全性:主要是说设置客户端连接后进行任何其他命令前需要使用的密码。
警告:因为Redis非常的快,所以在一台比较好的服务器上,一个外部用户可以在一秒钟进行十五万次的密码尝试,这就意味着需要制定非常强大的密码来防止暴力破解。
- 首先,打开配置文件,查找 #requirepass foobared,去掉注释,在这里需要写入密码。
- 其次,重新启动Redis服务。
这时候进入客户端,当输入命令时候,会显示 (error) NOAUTH Authentication required.
输入密码:auth allen(回车),成功返回OK。
这是进入客户端之后填写的密码,还可以在进入客户端的时候就填入密码:
./redis/bin/redis-cli -a allen 这样更加方便。
2. 主从复制
Redis主从配置和使用都非常简单。通过主从复制可以允许多个slave server拥有和master server相同的数据库副本。
主从复制的特点
- master可以拥有多个slave
- 多个slave可以连接同一个master外,还可以连接到其他slave,以防master崩溃
- 主从复制不会阻塞master,在同步数据时,master可以继续处理client请求
- 提高系统的伸缩性
主从复制的过程
- slave与master建立连接,发送sync同步命令
- master会启动一个后台进程,将数据库快照保存到文件中,同时master主进程会开始收集新的写命令并缓存
- 后台完成保存后,就讲此文件发送给slave
- slave将此文件保存到硬盘上
具体方法
在slave的配置文件中加入以下配置
slaveof 192.168.1.100 6379 指定master的ip和端口
masterauth allen 添加master的密码
测试的时候,可以使用虚拟机,克隆出来一个lamp环境,修改一下ip,完成测试工作。
可以使用info命令来查看两台redis server的信息:
master信息
# Replication
role:master //身份是主机
connected_slaves:1 //连接的从机有1台
slave0:ip=192.168.1.204,port=6379,state=online,offset=746,lag=1 //从机的信息
slave信息
# Replication
role:slave //身份是从机
master_host:192.168.1.203 //连接到的主机的ip
master_port:6379 //自己的端口
可以在主机中set一些内容,在从机中get,查看是否已经达到主从复制的目的。