Redis 热 key

梦莱2年前技术文章719

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


相关文章

shell脚本--sed

sed后面接的动作,务必以 '........'两个单引号包住1.擅长对文件进行操作处理2.对文件信息进行内容的信息修改-i 参数代表直接修改原文件a :往后新增一行, a 的后面可以接字串,而这些字...

Go 配置文件管理(ini)

Go 配置文件管理(ini)

1、背景ini 文件是 Initialization File 的缩写,即初始化文件,可用于统一管理各项配置。gopkg.in/ini.v1 是地表最强大、最方便和最流行的 Go 语言 INI 文件操...

Doris FE节点故障恢复

Doris FE节点故障恢复

FE故障恢复现象:FE由于元数据损坏导致无法启动            &nbs...

Prometheus结合VictoriaMetrics:更高效、稳定的多集群监控方案

在Prometheus的架构中,其核心组件包括Prometheus Server、Exporters、Alertmanager等,它采用基于拉的模型收集指标数据,并存储在本地TSDB中,支持通过Pro...

MySQL创建用户授权

创建用户授权一、创建用户1.创建管理用户create user 'test'@'%' identified by 'Test123@'create user 'test'@'localhost' id...

CDH实操--集群关闭Kerberos

CDH实操--集群关闭Kerberos

1、关掉整个集群2、zookeeper配置搜索kerberos,将enable Kerberos配置关掉3、hdfs配置在输入框中填入[hadoop.security.auth] 进行搜索将安全身份认...

发表评论    

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