Redis的重要特性

  1. 安全性
  2. 主从复制
  3. 事务处理
  4. 持久化机制
  5. 发布订阅消息
  6. 虚拟内存使用

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,查看是否已经达到主从复制的目的。