安全设置:
在前面的练习中,我们进入cli的时候不需要进行密码校验即可进行各种操作,
这是非常不安全的,我们可以通过配置实现安全密码校验及密码的设置;
具体如下:
打开redis.conf文件
找到如下数据:
# requirepass foobared
将注视去掉,并设置自己的新密码(foobared为默认密码)、比如设置成如下:
requirepass xuelianbo
下面是两种通过密码登入的方法:
一种是登录的时候就用-a参数指定密码、一种是在会话中auth进行验证。具体如下:
[redies@localhost redis-2.4]$ redis-cli redis 127.0.0.1:6379> keys * (error) ERR operation not permitted //此处系统报错,是因为我们没有权限 redis 127.0.0.1:6379> auth xuelianbo //用auth命令进行验证授权。 OK redis 127.0.0.1:6379> keys * (empty list or set) redis 127.0.0.1:6379> redis 127.0.0.1:6379> redis 127.0.0.1:6379> redis 127.0.0.1:6379> quit [redies@localhost redis-2.4]$ redis-cli -a xuelianbo //登录的时候就指定了密码。 redis 127.0.0.1:6379> keys * (empty list or set) redis 127.0.0.1:6379>
主从复制功能:
redis可以实现,从库从主库实施同步主库的变化的功能,这样就起到了备份的作用。具体使用非常简单,具体如下步骤:
打开从库的redis.conf文件:找到如下数据并进行配置:
配置主库的ip地址及端口及密码,如果没有密码的话可以不配置;
# slaveof <masterip> <masterport>
# masterauth <master-password>slaveof masterauth
比如我的配置如下:
slaveof 192.168.217.2 6379 # masterauth <master-password> masterauth xuelianbo
配置完成后将主从数据库都重启,注意防火墙的设置,保证从库能访问主库。下面的操作是主从复制的测试:
从库的操作: redis 127.0.0.1:6379> keys * (empty list or set) redis 127.0.0.1:6379> keys * 1) "name" redis 127.0.0.1:6379> get name "xuelianbo" redis 127.0.0.1:6379> get name "xuelianbobo" redis 127.0.0.1:6379>
主库的操作: redis 127.0.0.1:6379> keys * (empty list or set) redis 127.0.0.1:6379> set name xuelianbo OK redis 127.0.0.1:6379> set name xuelianbobo OK redis 127.0.0.1:6379>
可以发现:主库中增加name和更改name都能在从库中得到体现;