前言
上一篇我们详细讲解了 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 通用操作:
delete:批量删除指定 keyexists:判断 key 是否存在并统计数量expire:设置秒级过期时间pexpire:设置毫秒级高精度过期时间
这些是 Redis 日常开发中的基础核心能力,下一篇我们会继续讲解剩余的 Key 操作函数,包括 persist、ttl、pttl、rename 等。