redis特殊功能
一、慢查询
- 生命周期
两点说明:
(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
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
相关文章
- 虚拟环境-virtualenv
在开发Python应用程序的时候,系统安装的Python3只有一个版本:3.4。所有第三方的包都会被pip安装到Python3的site-packages目录下。 如果我们要同时开发多个应用程序,那
- 反向代理缓存
一、传统代理 很久以前,我们通常需要通过代理服务器来访问互联网上的Web站点,代理服务器本身接入了互联网,而我们通过内部网络与代理服务器相连。即便是现在,有些时候为了访问一些由于某种原因无法直接访问
- Sublime Text 快捷键汇总
[TOC] 快捷键 作用 command+q 退出sublime command+w 退出当前正在编辑的文件 command+e 使用所选内容查找 command+r 跳转定
- python变量作用域
在Python中并不是所有的语句块中都会产生作用域。只有当变量在Module(模块)、Class(类)、def(函数)中定义的时候,才会有作用域的概念。 需要注意的是:在if-elif-else、f
- VirtualBox 中安装 Ubuntu 虚拟机并配置文件共享
安装后,有时出现共享目录无法加载的现象,最后决定放弃,采用 VMWare Player !! 安装 VirtualBox 访问 https://www.virtualbox.org/ 下载最新版 V
随机推荐
- 虚拟环境-virtualenv
在开发Python应用程序的时候,系统安装的Python3只有一个版本:3.4。所有第三方的包都会被pip安装到Python3的site-packages目录下。 如果我们要同时开发多个应用程序,那
- 反向代理缓存
一、传统代理 很久以前,我们通常需要通过代理服务器来访问互联网上的Web站点,代理服务器本身接入了互联网,而我们通过内部网络与代理服务器相连。即便是现在,有些时候为了访问一些由于某种原因无法直接访问
- Sublime Text 快捷键汇总
[TOC] 快捷键 作用 command+q 退出sublime command+w 退出当前正在编辑的文件 command+e 使用所选内容查找 command+r 跳转定
- python变量作用域
在Python中并不是所有的语句块中都会产生作用域。只有当变量在Module(模块)、Class(类)、def(函数)中定义的时候,才会有作用域的概念。 需要注意的是:在if-elif-else、f
- VirtualBox 中安装 Ubuntu 虚拟机并配置文件共享
安装后,有时出现共享目录无法加载的现象,最后决定放弃,采用 VMWare Player !! 安装 VirtualBox 访问 https://www.virtualbox.org/ 下载最新版 V