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 操作函数,包括 persistttlpttlrename 等。

相关推荐
卷无止境1 小时前
FastAPI 实现 SSO,从协议原理到生产级落地
后端·python·fastapi
卷无止境1 小时前
FastAPI 与 RustFS 集成指南
后端·python·fastapi
青 春 记 忆1 小时前
零基础入门python25:新增账目——Decimal、日期和输入校验
python·后端开发
北风toto1 小时前
阿里云 MaxCompute通过python脚本调用odps流程和执行sql
python·阿里云·odps
qq_161111271 小时前
Pillow项目深度解析:Python图像处理的终极武器
图像处理·python·pillow·开源库·历史解析
梅孔立1 小时前
Pi-Agent 终极极简配置文档(Java+Vue+Python爬虫 4-5千文件项目)
java·vue.js·python
李可以量化2 小时前
Redis Client 从了解到精通(二)下:String 类型进阶操作全解
redis·git·python·量化交易·qmt
leisoo80972 小时前
财报舞弊预警系统实战用Python挖掘应收存货异常因子 IG50免费开源股票数据API接口
开发语言·python
cui_ruicheng2 小时前
LangChain 应用开发(十二):Agent 中间件与内置中间件
人工智能·python·中间件·langchain