Redis 发布订阅
Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。
Redis 客户端可以订阅任意数量的频道。
下图展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 、 client5 和 client1 之间的关系:
当有新消息通过 PUBLISH 命令发送给频道 channel1 时, 这个消息就会被发送给订阅它的三个客户端:
redis发布、订阅命令:
PSUBSCRIBE pattern [pattern ...] //订阅一个或多个符合给定模式的频道
PUNSUBSCRIBE [pattern [pattern ...]] //退订所有给定模式的频道
PUBSUB subcommand [argument [argument ...]] //查看订阅与发布系统状态
PUBLISH channel message //将信息发送到指定的频道,注意这里的channel就是上面被订阅的pattern,而message就是发布的消息
SUBSCRIBE channel [channel ...] //订阅给定的一个或多个频道的信息,它与pubscribe的区别在于,subscribe是精确匹配,而psubscribe是模糊匹配
UNSUBSCRIBE [channel [channel ...]] //退订给定的频道
Redis 连接
Redis 连接命令主要是用于连接 redis 服务。
AUTH password //验证密码是否正确
ECHO message //打印字符串
PING //查看服务是否运行
QUIT //关闭当前连接
SELECT index //切换到指定的数据库
Redis 服务器
Redis 服务器命令主要是用于查看和管理 redis 服务。
BGREWRITEAOF //异步执行一个 AOF(AppendOnly File) 文件重写操作
BGSAVE //在后台异步保存当前数据库的数据到磁盘
CLIENT KILL [ip:port] [ID client-id] //关闭客户端连接
CLIENT LIST //获取连接到服务器的客户端连接列表
CLIENT GETNAME //获取连接的名称
CLIENT PAUSE timeout //在指定时间内终止运行来自客户端的命令
CLIENT SETNAME connection-name //设置当前连接的名称
CLUSTER SLOTS //获取集群节点的映射数组
COMMAND //获取 Redis 命令详情数组
COMMAND COUNT //获取 Redis 命令总数
COMMAND GETKEYS //获取给定命令的所有键
TIME //返回当前服务器时间
COMMAND INFO command-name [command-name ...] //获取指定 Redis 命令描述的数组
CONFIG GET parameter //获取指定配置参数的值
CONFIG REWRITE //对启动 Redis 服务器时所指定的 redis.conf 配置文件进行改写
CONFIG SET parameter value //修改 redis 配置参数,无需重启
CONFIG RESETSTAT //重置 INFO 命令中的某些统计数据
DBSIZE //返回当前数据库的 key 的数量
DEBUG OBJECT key //获取 key 的调试信息
DEBUG SEGFAULT //让 Redis 服务崩溃
FLUSHALL //删除所有数据库的所有key
FLUSHDB //删除当前数据库的所有key
INFO [section] //获取 Redis 服务器的各种信息和统计数值
LASTSAVE //返回最近一次 Redis 成功将数据保存到磁盘上的时间,以 UNIX 时间戳格式表示
MONITOR //实时打印出 Redis 服务器接收到的命令,调试用
ROLE //返回主从实例所属的角色
SAVE //同步保存数据到硬盘
SHUTDOWN [NOSAVE] [SAVE] //异步保存数据到硬盘,并关闭服务器
SLAVEOF host port //将当前服务器转变为指定服务器的从属服务器(slave server)
SLOWLOG subcommand [argument] //管理 redis 的慢日志
SYNC //用于复制功能(replication)的内部命令
Redis 安全
我们可以通过 redis 的配置文件设置密码参数,这样客户端连接到 redis 服务就需要密码验证,这样可以让你的 redis 服务更安全。
- 查看redis是否设置了密码验证:
127.0.0.1:6379> CONFIG get requirepass
1) "requirepass"
2) ""
- 来修改redis链接参数:
127.0.0.1:6379> CONFIG set requirepass "runoob"
OK
127.0.0.1:6379> CONFIG get requirepass
1) "requirepass"
2) "runoob"
- redis密码登录
> auth password