Redis学习(四):Redis的其他功能

一:慢查询

(一)生命周期

1.客户端发送命令到Redis

2.Redis服务器处理发送命令(Redis为单线程,命令需要排队执行)

3.执行命令

4.返回执行结果

(二)说明

(1)慢查询发生在第三阶段

(2)客户端超时不一定为慢查询,但慢查询是客户端超时的一个可能元素

(三)配置

(1). slowlog-max-len

1.先进先出队列

2.固定长度

3.保存在内存中

(2)slowlog-log-slower-than

1.慢查询阀值

2。slowlog-log-slower-than,记录所有命令

3.slowlog-log-slower-than<0,不记录任何命令

(3)配置方法

 1.默认值

config get slowlog-max-len = 128

configget slowlog-log-slower-than = 10000

2.修改配置文件重启

3.动态配置

config set slower-max-len 10000

config set slowlog-log-slower-than 1000

(四)慢查询命令

1.slow get [n] : 获取慢查询队列

2.slowlog len :获取慢查询队列长度

3.slowlog reset :清空慢查询队列

(五)注意事项

1.slowlog-max-len不要设置过大,默认10ms,若设置过大,只有超过这个时间,慢查询才会记录这个命令,影像Redis的的响应

2.slowlog-log-slower-than 不要设置过小,通常设置1000左右,队列存在内存当中,随着慢查询的增加,队列的先进先出策略,不利于分析历史问题

3.定期持久化慢查询

二:pipeline(流水线)

1.将N个命令打包,发送值服务端执行

2.Redis的命令时间是微秒级别

3.pipeline每次条数限制

4.非原子执行,返回顺序返回

5.注意每次pipeline的携带数据量

6.pipeline每次只能作用在一个Redis节点上

三:发布订阅

1.角色

发布者:客户端

订阅者:可订阅多个频道

频道:Redis Server

发布之后所有的订阅者都可以收到
2.模型

无法做一个消息堆积,无法获取历史消息

3.API

发布命令   pulish channel message  返回订阅者个数

订阅者   subscribe [channel] #一个或多个

取消订阅  unsubscribe [channel]# 一个或多个

按照模式订阅 psubscribe [pattern...]

退订指定的模式 punsubscribe [pattern..]

列出至少有一个订阅者的频道 pubsub channels 

列出给定频道的订阅者数量 pubsub numsun [channel..] 

列出被订阅模式的数量 pubsub numpat 

4.消息队列

发布消息之后只有一个收到

四:Bitmap

1.定义

位图

2.API

setbit key offset value 给位图指定索引设置值 offset偏移量

getbit key offset 获取指定偏移量的值

bitcount key [start end] 获取位图指定范围(start到end,单位为字节,如果不指定就是获取全部)位值为1 的个数

bitop op destkey key [key...] 做多个bitmap的and(交集),or(并集),not(非),xor(异或)操作并将操作结果报存到destkey中

bitpos key targetBit [start][end] 计算位图指定范围(从start 到end,单位为字节,如果不指定就是获取全部)第一个偏移量对应的值等于targetBit的位置

3.使用

独立用户统计

4.使用经验

1.type = string ,最大512MB

2.注意setbit时的偏移量,可能会有较大的耗时

3.位图不是绝对好,在合适的场景使用合适的工具 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值