redis-py 从了解到精通(三):Redis Key 核心操作函数详解(上)

前言

上一篇我们详细讲解了 redis-py 中字符串(String)数据类型的常用操作函数,本篇我们继续深入,介绍 redis-py 中针对 Key(键) 的通用核心操作函数。这类操作不区分 Value 的数据类型,对所有类型的 Key 都生效,是 Redis 开发中最高频使用的基础能力。


一、环境准备与连接方式

1.1 环境依赖与安装

redis-py 的正常运行需要满足两个基础前提:

  • 已启动且可正常访问的 Redis 服务实例
  • 本地 Python 环境版本 ≥ 3.7

你可以通过 Python 包管理工具 pip 一键安装 redis-py 库:

bash 复制代码
pip install redis

1.2 两种快速连接方式

方式 1:本地默认连接

如果 Redis 服务部署在本机,且使用默认标准配置(地址 localhost,端口 6379),可以直接创建客户端实例:

bash 复制代码
import redis

# 本地默认配置连接
r = redis.Redis()
# 测试连接是否正常
print(r.ping())  # 输出 True 代表连接成功

方式 2:远程自定义配置连接

如果是远程 Redis 服务,或者修改了默认端口,需要在连接时显式指定 host、port 等参数:

bash 复制代码
import redis

# 远程自定义地址与端口连接
r = redis.Redis(host='foo.bar.com', port=12345)
print(r.ping())

二、Key 核心操作函数详解

2.1 delete(*names)

对应原生 Redis 命令 :DEL key1 key2 ...

  • 作用:删除一个或多个指定的 key
  • 参数 :*names 可变位置参数,支持传入任意多个 key 名称
  • 返回值 :整数类型,表示成功删除的 key 数量
  • 特点:若传入的 key 不存在,不会抛出异常,仅不计入成功计数

代码示例:

bash 复制代码
# 删除单个 key
r.delete("k1")

# 批量删除多个 key
r.delete("k1", "k2", "k3")

2.2 exists(*names)

对应原生 Redis 命令 :EXISTS key1 key2 ...

  • 作用:检查一个或多个 key 是否存在
  • 参数 :*names 可变参数,支持传入多个 key 名称
  • 返回值 :整数类型,返回实际存在的 key 总个数

注意:返回值不是布尔值,传入多个 key 时会统计存在的 key 总数。

代码示例:

bash 复制代码
# 检查单个 key 是否存在
print(r.exists("k1"))  # 存在返回 1,不存在返回 0

# 检查多个 key
print(r.exists("k1", "k2"))  
# 例如 k1 存在、k2 不存在,则返回 1

2.3 expire(name, time)

对应原生 Redis 命令 :EXPIRE key seconds

  • 作用 :为指定 key 设置过期时间,时间单位为秒
  • 参数 :
    • name:目标 key 的名称
    • time:过期时长,整数类型,单位为秒
  • 返回值 :
    • 1:过期时间设置成功
    • 0:key 不存在,设置失败

重要特性:如果 key 之前已经设置过过期时间,再次调用 expire 会覆盖原有过期时间。

代码示例:

bash 复制代码
# 先写入测试数据
r.set("test", "ab")
# 设置 30 秒后 key 自动过期删除
r.expire("test", 30)

2.4 pexpire(name, time)

对应原生 Redis 命令 :PEXPIRE key milliseconds

  • 作用 :为指定 key 设置过期时间,时间单位为毫秒
  • 参数 :
    • name:目标 key 的名称
    • time:过期时长,整数类型,单位为毫秒
  • 返回值 :
    • 1:设置成功
    • 0:key 不存在,设置失败

快速区分记忆:

  • expire → 秒级(seconds)
  • pexpire → 毫秒级(p 代表 milliseconds,高精度)

代码示例:

bash 复制代码
# 设置 5000 毫秒(即 5 秒)后过期
r.pexpire("test", 5000)

三、本篇小结

本篇我们学习了 redis-py 中 4 个最常用的 Key 通用操作:

  1. delete:批量删除指定 key
  2. exists:判断 key 是否存在并统计数量
  3. expire:设置秒级过期时间
  4. pexpire:设置毫秒级高精度过期时间

这些是 Redis 日常开发中的基础核心能力,下一篇我们会继续讲解剩余的 Key 操作函数,包括 persist、ttl、pttl、rename 等。

相关推荐
quantdash_cc9 小时前
如何检查滚动收益率计算中的窗口长度不足?——从数学定义到 Pandas 实现
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
砚底藏山河9 小时前
python量化:实时行情WebSocket断线重连状态机
java·python·websocket·金融
CodeGL9 小时前
16、Python Web开发
开发语言·前端·python
加点盐9 小时前
别再用 configparser 了:给本地配置加上加密、校验和版本迁移
python
小嘉丶学长9 小时前
Day08 · 字符串(二)
服务器·开发语言·python·学习·1024程序员节
BD_Marathon10 小时前
【Python】列表推导式
python
2501_9481226310 小时前
Qs 跨端三方库仓颉适配全流程
python·react native·django·tornado
萌动的小火苗10 小时前
MQTT的QoS0、QoS1、QoS2有什么区别?
开发语言·网络·python·php·信息与通信
forest_0910 小时前
《大模型原理通俗讲》系列 00|开篇 大模型到底是怎么回事
人工智能·python·prompt·agi
工程师迪菲10 小时前
【基础篇 01】YOLO 到底在做什么?先从一张图片看明白
python