redis特殊功能

模板网 2021-04-14

一、慢查询

  1. 生命周期

两点说明:

(1)、慢查询发生在第三阶段
(2)、客户端超时不一定慢查询,但慢查询是客户端超时的一个因素。
  1. 两个配置 ``` (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


3. 三个命令

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


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

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


## 三、发布订阅
1、角色

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


2、模型
![](https://github.com/yaokun123/images/blob/master/github/redis/publisher-model.png)

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

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、是否需要单条数据(没有)

六、geo

相关文章

  1. 使用create-react-app快速搭建react环境

    使用create-react-app快速搭建react环境 npm install create-react-app -g cd test_dir create-react-app demo_rea

  2. php配置加载器

    配置加载器 当我们使用App::cfg系列方法获取配置时,wulaphp是通过配置加载器先加载配置然后再返回配置项对应值的(当然可以返回整个配置数组)。配置加载器ConfigurationLoade

  3. 编程常用词汇表

    这里整理了一些常用词汇,供在编码中使用: 通用 数学 列表 时间 图像 文件目录 执行 业务 用户相关 文章相关 商品相关 优惠券相关 订单相关 这里总结了一些软件开发中常用的词汇,如

  4. redis 主从复制

    一、集群的作用 1.主从备份 防止主机宕机 2.读写分离 分担master的任务 3.任务分离,如从服务器分别担任备份工作与计算工作 二、redis集群配置 Master配置 1、关闭rdb快照

  5. aof恢复与rdb服务器迁移

    一、不小心flushall或flushdb了怎么办??? 只有aof还不够。 因为如果发生重写,aof文件里就什么都没有了。 所以要及时shutdown nosave,防止aof重写!!! 然后将a

随机推荐

  1. 使用create-react-app快速搭建react环境

    使用create-react-app快速搭建react环境 npm install create-react-app -g cd test_dir create-react-app demo_rea

  2. php配置加载器

    配置加载器 当我们使用App::cfg系列方法获取配置时,wulaphp是通过配置加载器先加载配置然后再返回配置项对应值的(当然可以返回整个配置数组)。配置加载器ConfigurationLoade

  3. 编程常用词汇表

    这里整理了一些常用词汇,供在编码中使用: 通用 数学 列表 时间 图像 文件目录 执行 业务 用户相关 文章相关 商品相关 优惠券相关 订单相关 这里总结了一些软件开发中常用的词汇,如

  4. redis 主从复制

    一、集群的作用 1.主从备份 防止主机宕机 2.读写分离 分担master的任务 3.任务分离,如从服务器分别担任备份工作与计算工作 二、redis集群配置 Master配置 1、关闭rdb快照

  5. aof恢复与rdb服务器迁移

    一、不小心flushall或flushdb了怎么办??? 只有aof还不够。 因为如果发生重写,aof文件里就什么都没有了。 所以要及时shutdown nosave,防止aof重写!!! 然后将a