You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Redis存储快速占满,寻求存储占用可视化工具(支持Azure)

解决Azure Redis存储增长过快的可视化分析方案

针对你遇到的Azure Redis缓存存储增长过快,需要直观分析存储构成(按大小统计键前缀、按键前缀统计键数量)的需求,我整理了几个实用的方案,覆盖原生Redis命令、Azure专属工具和可视化工具:

一、原生Redis命令(兼容Azure Redis)

Azure Redis完全兼容标准Redis命令,推荐用安全的遍历方式统计,避免用KEYS *(会阻塞大实例):

1. 编写脚本统计前缀数据

你可以写个简单的bash或Python脚本,用SCAN遍历所有键,提取前缀(比如按冒号:分割),再用MEMORY USAGE获取每个键的内存占用,最后累加统计:

  • Bash示例思路:
    # 替换为你的Azure Redis连接字符串
    REDIS_CONN="redis://:<your-password>@<your-redis-name>.redis.cache.windows.net:6380"
    
    # 遍历键、提取前缀并统计数量与内存
    redis-cli -u $REDIS_CONN --scan | while read key; do
        prefix=$(echo $key | cut -d':' -f1)
        memory=$(redis-cli -u $REDIS_CONN MEMORY USAGE $key)
        echo "$prefix $memory"
    done | awk '{prefix[$1]++; size[$1]+=$2} END {for(p in prefix) print p, prefix[p], size[p]}' | sort -k3 -nr
    
    脚本会输出每个前缀的键数量和总内存占用,按内存从大到小排序。

2. 用redis-memory-analyzer工具

第三方工具redis-memory-analyzer(通过pip安装)能自动扫描Redis实例,生成结构化的内存分析报告:

pip install redis-memory-analyzer
rma -h <your-redis-name>.redis.cache.windows.net -p <your-password> -P 6380 -s

它会输出可视化统计表格,直接展示各前缀的键数、内存占比等核心数据。

二、Azure专属工具

如果只想用Azure原生方案,以下两个工具能快速帮你分析:

1. Azure Portal监控与Log Analytics

  • 先在Azure门户进入你的Redis缓存实例,打开「监控」选项卡查看基础内存指标;若要分析前缀,需开启诊断日志:
    1. 进入「诊断设置」,开启日志收集并发送到Log Analytics工作区。
    2. 在Log Analytics中用Kusto查询分析前缀,比如:
      RedisLogs
      | parse Command with * Key *
      | extend Prefix = split(Key, ":")[0]
      | summarize KeyCount=count() by Prefix
      | sort by KeyCount desc
      
      (若要统计内存,需确保日志包含MEMORY USAGE执行记录,可调整诊断日志的命令类别)

2. Azure CLI执行Redis命令

用Azure CLI可直接在云端执行Redis命令,无需本地安装redis-cli:

# 获取Redis实例的主机名和密钥
az redis show --name <your-redis-name> --resource-group <your-rg> --query hostName -o tsv
az redis list-keys --name <your-redis-name> --resource-group <your-rg> --query primaryKey -o tsv

# 执行SCAN命令遍历键(可结合脚本逻辑扩展)
az redis execute --name <your-redis-name> --resource-group <your-rg> --command "SCAN 0 COUNT 1000"

三、可视化工具(推荐)

想要更直观的界面分析,这些工具能快速生成存储构成图:

1. RedisInsight(官方工具)

Redis官方免费可视化工具,完美支持Azure Redis:

  • 下载安装后,输入Azure Redis连接字符串即可添加实例。
  • 进入「内存分析」模块,选择「按前缀分组」,就能直接看到每个前缀的键数量、总内存占用、平均内存等数据,还能生成饼图/柱状图,直观展示存储构成。

2. Power BI自定义仪表盘

如果你已经在用Power BI,可以连接Azure Monitor的Redis指标,或者把脚本统计的数据导入Power BI,制作自定义的存储构成仪表盘,方便长期监控分析。

这些方案应该能帮你快速定位到哪些键前缀占用了最多的存储,进而针对性地清理或优化缓存策略。

内容的提问来源于stack exchange,提问作者Dan Benjamin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:52:43