python模式匹配批量删除redis中的key

本文详细介绍如何在Redis单例及集群模式下清除所有http相关的键值。通过使用redis-py和redis-py-cluster库,提供了简洁有效的代码实现,适用于需要批量删除特定前缀键的应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、redis单例模式

前提:安装 pip install redis

 

import redis

r = redis.Redis(host='192.168.30.153', port=6383,db=0,decode_responses=True)

list_keys = r.keys("http*")


for key in list_keys:

 r.delete(key)

2、reidis集群模式

前提:安装 pip install redis-py-cluster

from rediscluster import StrictRedisCluster


install redis-py-cluster

redis_nodes = [{'host':'192.168.3.153','port':6383},

               {'host':'192.168.3.153','port':6384}

              ]

try:

 redisconn = StrictRedisCluster(startup_nodes=redis_nodes)

 list_keys = redisconn.keys("http*")

 for key in list_keys:

  redisconn.delete(key)

except:

 print("Connect Error!")

3、集群模式下另一种,更为简洁的方式

from rediscluster import StrictRedisCluster

from com.unif.conf.ConstantConfig import ConstantConfig
from com.unif.util.LogUtil import LogUtil
from com.unif.util.SendEmailUtil import SendEmailUtil

redis_nodes = ConstantConfig.redis_nodes

redis_conn = StrictRedisCluster(startup_nodes=redis_nodes)
logger = LogUtil.get_logger('RedisUtil')


class RedisUtil:

    def __init__(self):
        print("初始化:RedisUtil")
   

    @staticmethod
    def delete_all():
        try:
            list_keys = redis_conn.keys("http*")
            redis_conn.delete(*redis_conn.keys('http*'))
            # for key in list_keys:
            #     redis_conn.delete(key)

        except Exception as e:
            print("Connect Error!")


# 调用
# print(RedisUtil.set_nx('abc'))
RedisUtil.delete_all()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

春风化作秋雨

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值