Redis辅助功能

一、Redis队列

 1.1、订阅 subscribe ch1 ch2

Redis辅助功能_第1张图片1.2 publish:发布消息 publish channel message

Redis辅助功能_第2张图片

 1.3 unsubscribe: 退订 channel

Redis辅助功能_第3张图片

1.4  模式匹配 psubscribe ch*

模糊发布,订阅,退订, p*

1.5 发布订阅原理

Redis辅助功能_第4张图片

订阅某个频道或模式:
客户端 (client) :
pubsub_channels,该属性表明了该客户端订阅的所有频道;
pubsub_patterns,该属性表示该客户端订阅的所有模式;
服务器端 (RedisServer) :
pubsub_channels,该服务器端中的所有频道以及订阅了这个频道的客户端;
pubsub_patterns,该服务器端中的所有模式和订阅了这些模式的客户端; 

Redis辅助功能_第5张图片

二、Redis事务

2.1 redis事务说明

Redis辅助功能_第6张图片

 2.2 redis事务命令

事务处理:watch key 的值改变,引起另外一个线程修改key事务失败。

Redis辅助功能_第7张图片

 2.3 redis事务执行

2.3.1 事务开始(multi)
在RedisClient中,有属性flags,用来表示是否在事务中flags=REDIS MULTI
2.3.2 命令入队(watch {key})
RedisClient将命令存放在事务队列中(EXEC,DISCARD,WATCH,MULTI除外)
2.3.3 事务队列
用于存放命令multiCmd *commands
2.3.4 执行事务(exec)
RedisClient向服务器端发送exec命令,RedisServer会遍历事务队列,执行队列中的命令,最后将执行的结果一次性返回给客户端。如果某条命令在入队过程中发生错误,redisClient将flags置为REDIS_DIRTY_EXEC,EXEC命令将会失败返回。

2.4 redis事务缺点

1、redis弱事务
2、中间语法错误事务整体失败
3、事务不支持回滚

三、Redis监视

四、Redis慢查询

4.1 慢查询配置

redis.conf配置

Redis辅助功能_第8张图片

Redis使用列表存储慢查询日志,采用队列方式 (FIFO)
config set的方式可以临时设置,redis重启后就无效
config set slowlog-log-slower-than 微秒
config set slowlog-max-len 条数
查看日志: slowlog get [n]

4.2 底层数据结构

Redis使用列表存储慢查询日志,采用队列方式 (FIFO)

Redis辅助功能_第9张图片

 

 

 

 

你可能感兴趣的:(redis,数据库,缓存)