Redis 热 key

梦莱2年前技术文章674

1、hotkeys

该方案只能针对于 key 的过期淘汰策略为 allkeys-lfu 或者 volatile-lfu 的实例。

-----查看淘汰策略
config get maxmemory-policy
----修改淘汰策略
config set maxmemory-policy volatile-lfu
--查看 hotkey
redis-cli -h r-xxx.redis.rds.aliyuncs.com -p 6379 -a "123456" --hotkeys
redis-cli --hotkeys
查询结果反馈如下:
[root@orcls ~]# redis-cli --hotkeys

# Scanning the entire keyspace to find hot keys as well as
# average sizes per key type.  You can use -i 0.1 to sleep 0.1 sec
# per 100 SCAN commands (not usually needed).

Error: ERR An LFU maxmemory policy is not selected, access frequency not tracked. Please note that when switching between policies at runtime LRU and LFU data will take some time to adjust.
[root@orcls ~]# redis-cli --hotkeys

# Scanning the entire keyspace to find hot keys as well as
# average sizes per key type.  You can use -i 0.1 to sleep 0.1 sec
# per 100 SCAN commands (not usually needed).


-------- summary -------

Sampled 7 keys in the keyspace!

补充:LRU 和 LFU 算法区别:

LRU是从满足算法条件的数据中选择空闲时间最长的

LFU是从满足算法条件的数据中选择使用频率最低的

2、monitor

Redis 的 MONITOR 命令能够忠实地打印 Redis 中的所有请求,包括时间信息、Client 信息、命令以及 Key 信息。在发生紧急情况时,可以通过短暂执行 MONITOR 命令并将返回信息输入至文件,在关闭 MONITOR 命令后,对文件中请求进行归类分析,找出这段时间中的热 Key。

注意:由于 MONITOR 命令对 Redis 实例性能消耗较大,非特殊情况不推荐使用 MONITOR 命令。

127.0.0.1:6379> monitor
OK
1684220725.203176 [0 172.16.104.32:38579] "PING"
1684220725.713214 [0 172.16.104.60:55774] "PING"
1684220725.907949 [0 172.16.104.32:38579] "INFO"
1684220726.120256 [0 172.16.104.32:38579] "PUBLISH" "__sentinel__:hello" "172.16.104.32,26379,f798a63e858bff905ca3ae7cdb2a5db16179806b,2,mymaster,172.16.104.32,6379,2"
1684220726.152986 [0 172.16.104.60:55774] "INFO"
1684220726.294286 [0 172.16.104.32:38579] "PING"
1684220726.723099 [0 172.16.104.60:55774] "PING"
1684220727.137292 [0 172.16.104.60:55774] "PUBLISH" "__sentinel__:hello" "172.16.104.60,26379,ed032bf681d56b743e74af1615dc264dc465444c,2,mymaster,172.16.104.32,6379,2"
1684220727.369043 [0 172.16.104.32:38579] "PING"
1684220727.742207 [0 172.16.104.60:55774] "PING"
1684220728.155509 [0 172.16.104.32:38579] "PUBLISH" "__sentinel__:hello" "172.16.104.32,26379,f798a63e858bff905ca3ae7cdb2a5db16179806b,2,mymaster,172.16.104.32,6379,2"
1684220728.384930 [0 172.16.104.32:38579] "PING"
1684220728.770192 [0 172.16.104.60:55774] "PING"
1684220729.158312 [0 172.16.104.60:55774] "PUBLISH" "__sentinel__:hello" "172.16.104.60,26379,ed032bf681d56b743e74af1615dc264dc465444c,2,mymaster,172.16.104.32,6379,2"
1684220729.407570 [0 172.16.104.32:38579] "PING"
1684220729.819311 [0 172.16.104.60:55774] "PING"
1684220730.196226 [0 172.16.104.32:38579] "PUBLISH" "__sentinel__:hello" "172.16.104.32,26379,f798a63e858bff905ca3ae7cdb2a5db16179806b,2,mymaster,172.16.104.32,6379,2"
1684220730.495966 [0 172.16.104.32:38579] "PING"
1684220730.837517 [0 172.16.104.60:55774] "PING"
1684220731.194453 [0 172.16.104.60:55774] "PUBLISH" "__sentinel__:hello" "172.16.104.60,26379,ed032bf681d56b743e74af1615dc264dc465444c,2,mymaster,172.16.104.32,6379,2"
^C
(venv) [root@orcls demo]# ^C


相关文章

zookeeper部署

安装前准备修改环境变量在所有zk节点都要执行 1. 编辑/etc/profile文件vim /etc/profile 内容如下:export ZOOKEEPER_HOME=/opt/zookeeper...

Hudi集成Spark

Hudi集成Spark

环境准备安装Spark1)Hudi支持的Spark版本HudiSupported Spark 3 version0.12.x3.3.x,3.2.x,3.1.x0.11.x3.2.x(default b...

python-日志分析

1、概述生产中会生成大量的系统日志、应用程序日志、安全日志等等日志,通过对日志的分析可以了解服务器的负载、健康状况,可以分析客户的分布情况、客户的行为,甚至基于这些分析可以做出预测。一般采集流程:日志...

CDH实操--CDH集成Trino(三)

CDH实操--CDH集成Trino(三)

1、将parcel包放到对应下载目录将parcel包放到/var/www/html/trino目录下修改httpd配置文件新增parcel文件类型然后通过命令启动httpd服务:systemctl s...

trino开启https

trino开启https

一、生成https证书(所用到的openssl和keytool命令都是linux自带的)配置https证书:(1)创建目录[hdfs@hadoop01 hadoop]# mkdir -p /data/...

Kafka报 IO Exception(many open files)

Kafka报 IO Exception(many open files)

1 线上问题kafka报错many open files,查看日志如下截取部分错误信息2 问题分析首先看kafka监控平台的一些监控指标,topic列表中关于topic的信息项如下所示:(1)topi...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。