上篇博客讲了一下redis的基本操作,主要是安装以及一些常用命令,这篇博客来说一下redis的高级操作
一、安全性:
设置了操作权限之后,必须先登录,没有登录的会报没有操作权限的错误!
服务端: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即可!