Redis学习(三)---瑞士军刀Redis

一、慢查询

声明周期

在这里插入图片描述

  1. 慢查询发生在第三阶段(例如keys命令)
  2. 客户端超时不一定是慢查询,但慢查询是客户端超时的一个可能因素

(关于慢查询的)两个配置

– slowlog-max-len

  1. 先进先出队列(慢查询会进入一个队列)
  2. 固定长度
  3. 保存在内存中
    – slowlog-log-slower-than
  4. 慢查询阈值(单位:微妙)
  5. slowlog-log-slower-than=0,记录所有命令
  6. slowlog-log-slower-than<0,不记录任何命令
    在这里插入图片描述

二、pipeline

流水线

将命令批量发送,非原子操作,只能用在一个redis节点上
在这里插入图片描述
在这里插入图片描述

三、发布订阅

角色介绍

1.发布者 2.订阅者 3.频道

模型

在这里插入图片描述

相关指令 API

publish、subscribe等

四、bitmap(位图)

通过API命令去操作存储数据的位图数据(二进制)
在这里插入图片描述

应用

通过bitmap位图操作索引进行记录(不一定就比set少占用空间,需要进行实际存储空间的计算)
在这里插入图片描述

五、Hyperloglog

基于Hyperloglog的算法:极小空间完成独立数量的统计
本质是String
常用命令:pfadd、pfcount、pfmerge 等

具有的缺点

  1. 官方错误率:0.81%
  2. 取不了单条数据

六、GEO(redis3.2)

GEO(地理信息定位):存储经纬度、计算两地的距离、范围计算等
本质是zset
常用命令:geoadd、geopos、geodist、georedius

应用场景

微信摇一摇(类似),附近酒店餐馆定位

猜你喜欢

转载自blog.csdn.net/qq_38941937/article/details/105188716