上篇博客讲了一下redis的基本操作,主要是安装以及一些常用命令,这篇博客来说一下redis的高级操作
一、安全性:
设置了操作权限之后,必须先登录,没有登录的会报没有操作权限的错误!
在配置文件中,添加requirepass
服务端:redis-start -requirepass.bat
redis-server.exe D:\test\redis\32bit\redis.conf
客户端:redis-client.bat
redis-cli.exe -h 127.0.0.1 -p 6379
再次启动客户端,报没有权限的错误
redis 127.0.0.1:6379> keys *
(error) ERR operation not permitted
授权:auth+密码进行授权,用redis-client.bat每次登陆都需要验证
redis 127.0.0.1:6379> auth leilei
OK
redis 127.0.0.1:6379> keys *
(empty list or set)
redis 127.0.0.1:6379> set username leilei
OK
redis 127.0.0.1:6379> get username
"leilei"
一次性授权,直接配置在bat文件中,在客户端添加了-a +密码
服务端:redis-start -requirepass.bat
redis-server.exe D:\test\redis\32bit\redis.conf
客户端:redis-client.bat
redis-cli.exe -h 127.0.0.1 -p 6379 -a leilei
二、主从复制
整体结构
<span style="font-size:18px;">redis-start-1.bat
redis-server.exe
redis-start-2.bat
redis-server.exe redis-02.conf
redis-02.conf
port 6380
requirepass leilei
redis-client-1.bat
redis-cli.exe -h 127.0.0.1 -p 6379
redis-client-2.bat
redis-cli.exe -h 127.0.0.1 -p 6380 -a leilei</span>
其中redis01是主机,使用默认的配置,redis02是从机,端口是6380
操作
1、在redis-client-2.bat执行命令:
redis 127.0.0.1:6380> slaveof 127.0.0.1 6379
OK
2、在redis-client-1.bat添加数据
redis 127.0.0.1:6379> set name leilei
OK
redis 127.0.0.1:6379> set sex man
OK
redis 127.0.0.1:6379> set age 24
OK
3、在redis-client-2.bat查询
redis 127.0.0.1:6380> keys *
1) "sex"
2) "age"
3) "name"
另一种方式,直接在配置文件中修改配置信息就可以了
# Master-Slave replication. Use slaveof to make a Redis instance a copy of
# another Redis server. Note that the configuration is local to the slave
# so for example it is possible to configure the slave to save the DB with a
# different interval, or to listen to another port, and so on.
#
# slaveof <masterip> <masterport>
三、发布订阅
整体结构
操作
1、启动两个订阅的客户端
sbuscribe命令
2、启动一个发布的客户端
publish命令
效果
四、持久化
redis的持久化有两种方式,一种是默认的快照方式snapshotting,默认存的是数据,另一种是append-only file (aof),存的是操作,默认生成的aof文件是只读的,需要去掉只读属性。这个只需要设置一下配置文件中的appendonly yes即可!