Python脚本统计Redis中某个key的数量

要统计生产中redis集群中的某个key存在多少个,用redis自带命令扫描效率低,所以写个python脚本,采用游标去跑,

import redis

def count_matching_keys(client, pattern):
    """
    这是一个自定义函数,用于计算与给定模式匹配的 Redis 键的数量

    参数:
    client: Redis 客户端实例,用于与 Redis 服务器进行通信
    pattern: 要匹配的键的模式

    返回值:
    匹配模式的键的数量
    """
    cursor = 0  # 初始化游标为 0
    count = 0  # 初始化匹配的键的数量为 0
    while True:  # 无限循环,直到满足特定条件退出
        cursor, keys = client.scan(cursor, match=pattern)  # 使用 Redis 的 scan 命令获取匹配的键和新的游标
        count += len(keys)  # 将本次获取到的匹配键的数量累加到总数中
        if cursor == 0:  # 如果游标为 0,表示扫描结束
            break  # 退出循环
    return count  # 返回匹配键的总数

# 连接到指定的 Redis 服务器
client = redis.Redis(host='common-redis-test.cn-s01-dgtest01.redis.oppo.test', port=6379, db=0)
# 调用函数计算匹配特定模式的键的数量
matching_key_count = count_matching_keys(client, "ad:appInfo:appid:*")
# 打印结果
print("符合特定模式的 key 数量为:", matching_key_count)

运行结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值