redis 特殊功能

发布于 2021-08-06 13:00:13 字数 2224 浏览 974 评论 0

一、慢查询

生命周期

两点说明:

(1)、慢查询发生在第三阶段
(2)、客户端超时不一定慢查询,但慢查询是客户端超时的一个因素。

两个配置

(1)、slowlog-max-len
 先进先出的队列、固定长度、保存在内存内
(2)、slowlog-log-slower-than
满查询阀值(单位:微妙)、slowlog-log-slower-than=0记录所有命令、slowlog-log-slower-than<0不记录所有命令

默认值:
config get slowlog-max-len = 128
config get slowlog-log-slower-than = 10000
修改配置文件重启
动态配置:
config set slowlog-max-len 1000
config set slowlog-log-slower-than 1000

三个命令

slowlog get [n]    //获取慢查询队列
slowlog len        //获取满查询队列长度
slowlog reset      //清空慢查询队列

二、pipeline

将多个 redis 命令打包 1 次 pipeline 命令 = 1次网络时间 + n 次命令时间

(1)、注意每次pipeline携带数据量
(2)、pipeline每次只能作用在一个redis节点上

三、发布订阅

1、角色

发布者(publisher)
订阅者(subscriber)
通道(channel)

2、模型

注意:新订阅者无法收到历史消息。

3、API

publish:发布->publish channel message(publish sohu:tv "hello world")返回订阅者个数
subscribe:订阅->subscribe [channel]#一个或多个(subscribe sohu:tv)
unsubscribe:取消订阅->unsubscribe [channel]#一个或多个(unsubscribe sohu:tv)

psubscribe [pattern...]#订阅模式
punsubscribe [pattern...]#退订指定的模式
pubsub channels#列出至少有一个订阅者的频道
pubsub numsub [channel...]#列出给定频道的订阅者数量

4、发布订阅与消息队列

发布订阅:发布者发布之后订阅者都可以收到。 消息队列:发布者发布以后订阅者只有一个可以收到(抢占)

四、bitmap

位图:可以直接次操作位(一个字节 8 位)

五、hyperloglog(统计独立用户)

基于 HypeLogLog 算法:极小空间完成独立数量统计

本质还是字符串

三个命令

1、pfadd key element [element...]:向hyperloglog添加元素
2、pfcount key [key...]:计算hyperloglog的独立总数
3、pfmerge destkey sourcekey [sourcekey...]:合并多个hyperloglog

内存消耗:内存消耗较小

使用经验:

  1. 能否容忍错误?(错误率:0.81)。
  2. 是否需要单条数据(没有)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

0 文章
0 评论
84960 人气
更多

推荐作者

lorenzathorton8

文章 0 评论 0

Zero

文章 0 评论 0

萧瑟寒风

文章 0 评论 0

mylayout

文章 0 评论 0

tkewei

文章 0 评论 0

17818769742

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文