Redis(四) - 使用Python操作Redis详解_python redis
文章目录
- 前言
- 一、下载Python插件
- 二、创建项目
- 三、安装 redis 库
- 四、新建python软件包
- 五、键操作
- 六、字符串操作
- 七、列表操作
- 八、集合操作
- 九、哈希表操作
- 十、有序集合操作
- 十一、完整代码
-
- 1. 完整代码
- 2. 项目下载
前言
本文是基于 Python 操作 Redis 数据库的实战指南,旨在通过分步教程与代码示例,帮助开发者掌握 Redis 常见数据类型(字符串、列表、集合、哈希表、有序集合)的操作方法。内容覆盖开发环境搭建、库安装、项目结构创建及核心功能代码实现,适合 Python 初学者及 Redis 入门开发者参考。
一、下载Python插件
打开设置菜单:首先,点击左上角的“文件”菜单,然后选择“设置”选项。这将打开一个新窗口,显示各种设置选项。
进入插件管理:在设置窗口左侧的导航栏中,找到并点击“插件”选项。这将带你进入插件管理页面。
搜索Python插件:在插件管理页面顶部的搜索框中输入“python”,然后按回车键进行搜索。这将列出与Python相关的所有插件。
选择Python插件:从搜索结果中找到名为“Python”的插件,并点击它。确保该插件旁边的复选框被勾选,表示已启用。
应用更改:完成上述步骤后,点击右下角的“应用(A)”按钮,然后点击“确定”按钮以保存更改并关闭设置窗口。
具体步骤如下图所示:
二、创建项目
项目创建是 Python 开发的起始点,规范且合理地创建项目有助于组织代码结构、管理项目资源。在开发与 Redis 交互的 Python 项目时,明确项目名称、路径以及选择合适的环境类型,如 Virtualenv 虚拟环境,能有效隔离项目依赖,避免不同项目间的依赖冲突,为项目开发营造稳定的运行环境。下面详细介绍创建 Python 项目的具体流程。
点击“文件”菜单–>选择“新建(N)”–>点击“项目…”–>选择“Python”项目类型–>输入项目名称和路径–>选择环境类型为“Virtualenv”–>指定虚拟环境路径–>选择基础解释器版本–>点击“创建©”按钮。
具体步骤如下图所示:
三、安装 redis 库
Redis 库是 Python 与 Redis 数据库交互的桥梁。通过终端执行 pip install redis
命令(推荐使用阿里云镜像源加速下载),可快速安装官方提供的 Redis 客户端库。安装完成后,需验证库是否导入成功(如在 Python 中执行 import redis 无报错),确保后续代码能够调用 Redis 相关接口。
打开终端,执行如下命令安装redis
库。
pip install redis -i https://mirrors.aliyun.com/pypi/simple/
具体步骤如下图所示:
四、新建python软件包
在 Python 项目中,软件包用于组织相关的模块,有助于构建清晰的代码结构,提高代码的可维护性与复用性。当项目涉及复杂的功能模块时,合理创建软件包能够更好地管理代码逻辑。以下介绍在项目中新建 Python 软件包的操作方法。
在项目视图中找到并点击项目名称–>右键点击项目名称–>选择“新建(N)”–>选择“Python 软件包”–>输入软件包名称–>点击“确定”按钮。
具体步骤如下图所示:
创建完成如下图所示:
五、键操作
键操作是 Redis 数据管理的基础,涉及键的创建、查询、修改与删除。核心方法包括:
SET/MSET
:设置单个或多个键值对;KEYS
:按模式匹配查询键(如 k* 匹配以 k 开头的键);EXPIRE/TTL
:设置键的生存时间及查询剩余存活时间;RENAME
:重命名键;DELETE
:删除单个或多个键。
通过这些操作,可高效管理 Redis 中的数据生命周期。
def key_operation(): print(\"===========键操作===========\") # 示例:给school键设置值为dy。 set_result = r.set(\"school\", \"dy\") print(set_result) print(\"===============\") # 示例:给k1键设置值为v1,k2键设置值为v2,k3键设置值为v3。 set_result1 = r.mset({\"k1\": \"v1\", \"k2\": \"v2\", \"k3\": \"v3\"}) print(set_result1) print(\"===============\") # 示例1:查看所有键。 keys = r.keys(\"*\") for key in keys: print(key.decode()) print(\"===============\") # 示例2:查看所有以k开头的键。 keys1 = r.keys(\"k*\") for key in keys1: print(key.decode()) print(\"===============\") # 示例:查看scool键的值。 school = r.get(\"school\") print(school.decode() if school else None) print(\"===============\") # 示例:查看k1、k2、k3键的值。 mget = r.mget(\"k1\", \"k2\", \"k3\") for s in mget: print(s.decode() if s else None) print(\"===============\") # 示例:查看k1键的值的序列化版本。 k1s = r.dump(\"k1\") print(k1s) print(\"===============\") # 示例1:查看school键是否存在。 exists = r.exists(\"school\") print(exists) # print(bool(exists)) print(\"===============\") # 示例2:查看k1、k2、k3、k4、k5键是否存在。 exists1 = r.exists(\"k1\", \"k2\", \"k3\", \"k4\", \"k5\") print(exists1) print(\"===============\") # 示例:查看school键的值的类型。 type_ = r.type(\"school\").decode() print(type_) print(\"===============\") # 示例:把school键重命名为new_school键。 rename = r.rename(\"school\", \"new_school\") print(rename) print(\"===============\") # 示例:把k3键的生存时间设置为600秒。 expire = r.expire(\"k3\", 600) print(expire) print(\"===============\") # 示例:查看k3键的剩余存活时间。 ttl = r.ttl(\"k3\") print(ttl) print(\"===============\") # 示例:删除k3键的存活时间。 persist = r.persist(\"k3\") print(persist) print(\"===============\") # 示例1:删除new_school键。 del_ = r.delete(\"new_school\") print(del_) print(\"===============\") # 示例2:删除k1、k2、k3键。 del1 = r.delete(\"k1\", \"k2\", \"k3\") print(del1) print(\"===============\")
六、字符串操作
字符串是 Redis 最基础的数据类型,支持原子性操作。核心方法包括:
GET/MGET
:获取单个或多个字符串值;GETSET
:先获取旧值再设置新值;STRLEN
:获取字符串长度;SETRANGE
:按索引替换字符串内容;APPEND
:向字符串末尾追加内容。
这些操作适用于缓存简单数据(如用户信息、配置项)场景。
def string_operation(): print(\"===========字符串操作===========\") # 示例:给字符串键str1设置值为value1。 set_result = r.set(\"str1\", \"value1\") print(set_result) print(\"===============\") # 示例:给字符串键str2、str3、str4分别设置值为value2、value3、value4。 mset_result = r.mset({\"str2\": \"value2\", \"str3\": \"value3\", \"str4\": \"value4\"}) print(mset_result) print(\"===============\") # 示例:获取字符串键str1的值。 str1 = r.get(\"str1\") print(str1.decode() if str1 else None) print(\"===============\") # 示例:获取字符串键str2、str3、str4的值。 mget = r.mget(\"str2\", \"str3\", \"str4\") for s in mget: print(s.decode() if s else None) print(\"===============\") # 示例:获取字符串键str1的旧值,并设置新值为new_value1。 get_set = r.getset(\"str1\", \"new_value1\") print(get_set.decode() if get_set else None) # 查看设置后的新值。 str11 = r.get(\"str1\") print(str11.decode() if str11 else None) print(\"===============\") # 示例:获取字符串键str1的值的长度。 strlen = r.strlen(\"str1\") print(strlen) print(\"===============\") # 示例:获取字符串键str1的索引0-5的值的内容。 getrange = r.getrange(\"str1\", 0, 5) print(getrange.decode() if getrange else None) print(\"===============\") # 示例:把字符串键str1从索引2开始的后面三个字母的内容替换为aaa。 setrange = r.setrange(\"str1\", 2, \"aaa\") print(setrange) # 查看设置后的新值。 str12 = r.get(\"str1\") print(str12.decode() if str12 else None) print(\"===============\") # 示例:向字符串键str1的结尾追加内容bbb。 append = r.append(\"str1\", \"bbb\") print(append) # 查看设置后的新值。 str13 = r.get(\"str1\") print(str13.decode() if str13 else None)
七、列表操作
列表(List)是 Redis 中有序、可重复的链表结构,支持两端插入与删除。核心方法包括:
LPUSH/RPUSH
:左 / 右端插入元素;LRANGE
:按索引范围获取列表元素(如 0 -1 表示所有元素);LPOP/RPOP
:左 / 右端弹出并删除元素;LREM
:按条件删除元素(如删除指定数量或方向的元素)。
列表适用于队列、栈、历史记录等有序数据场景。
def list_operation(): print(\"===========列表操作===========\") # 示例:在列表右端向列表color中添加多个值。 rpush = r.rpush(\"color\", \"blue\", \"green\", \"purple\", \"red\", \"white\") print(rpush) print(\"===============\") # 示例:在列表左端向列表color中添加多个值。 lpush = r.lpush(\"color\", \"blue2\", \"green2\", \"purple2\", \"red2\", \"white2\") print(lpush) print(\"===============\") # 示例1:获取列表color中索引0-5的元素。 color = r.lrange(\"color\", 0, 5) for s in color: print(s.decode()) print(\"===============\") # 示例2:获取列表color中的所有元素。 color1 = r.lrange(\"color\", 0, -1) for s in color1: print(s.decode()) print(\"===============\") # 示例:获取列表color中索引为2的元素。 color2 = r.lindex(\"color\", 2) print(color2.decode() if color2 else None) print(\"===============\") # 示例:移除并获取列表color中的最后一个(最右端)元素。 rpop = r.rpop(\"color\") print(rpop.decode() if rpop else None) print(\"===============\") # 示例:移除并获取列表color中的第一个(最左端)元素。 lpop = r.lpop(\"color\") print(lpop.decode() if lpop else None) print(\"===============\") # 示例:获取列表color的长度。 llen = r.llen(\"color\") print(llen) print(\"===============\") # 示例1:从列表开头开始搜索移除列表color中1个red元素。 lrem = r.lrem(\"color\", 1, \"red\") print(lrem) print(\"===============\") # 示例2:从列表结尾开始搜索移除列表color中3个blue元素。 lrem1 = r.lrem(\"color\", -3, \"blue\") print(lrem1) print(\"===============\") # 示例3:移除列表color中所有blue2元素。 lrem2 = r.lrem(\"color\", 0, \"blue2\") print(lrem2) print(\"===============\")
八、集合操作
集合(Set)是 Redis 中无序、唯一的元素集合,支持交集、并集、差集运算。关键操作包括:
SADD
:添加成员(自动去重);SMEMBERS
:获取所有成员;SISMEMBER
:判断成员是否存在;SMOVE
:移动成员至其他集合。
集合常用于标签管理、用户去重、交集查询(如共同好友)等场景。
def set_operation(): print(\"===========集合操作===========\") # 示例:给集合键set1添加多个成员。 sadd = r.sadd(\"set1\", \"mem1\", \"mem2\", \"mem3\") print(sadd) print(\"===============\") # 示例:查看集合键set1中成员的数量。 scard = r.scard(\"set1\") print(scard) print(\"===============\") # 示例:查看集合键set1中的所有成员。 set1 = r.smembers(\"set1\") for s in set1: print(s.decode()) print(\"===============\") # 示例:检查成员mem1是否在集合set1中。 sismember = r.sismember(\"set1\", \"mem1\") print(sismember) print(\"===============\") # 示例:移除集合set1中成员mem3。 srem = r.srem(\"set1\", \"mem3\") print(srem) print(\"===============\") # 示例:把集合set1中成员mem2移动到集合set2中。 smove = r.smove(\"set1\", \"set2\", \"mem2\") print(smove) print(\"===============\")
九、哈希表操作
哈希表(Hash)用于存储键值对的集合,适合存储结构化数据(如用户详情)。核心方法包括:
HSET
:设置单个字段值或批量设置(通过 mapping 参数);HGET/HMGET
:获取单个或多个字段值;HGETALL
:获取所有字段和值;HDEL
:删除指定字段。
哈希表可减少键的数量,提升数据读写效率,适用于存储对象属性场景。
def hash_operation(): print(\"===========哈希表操作===========\") # 示例:给哈希表student添加一个学生信息。 hset = r.hset(\"student:1\", \"name\", \"zhangsan\") print(hset) hset1 = r.hset(\"student:1\", \"age\", \"19\") print(hset1) hset2 = r.hset(\"student:1\", \"address\", \"yunnan\") print(hset2) print(\"===============\") # 示例:给哈希表student添加一个学生信息。 # 修复:使用 hset 替代 hmset,传入映射字典 hmset = r.hset(\"student:2\", mapping={\"name\": \"lisi\", \"age\": \"20\", \"address\": \"guizhou\"}) print(hmset) print(\"===============\") # 示例:获取hash键student:2中name字段的值。 hget = r.hget(\"student:2\", \"name\") print(hget.decode() if hget else None) print(\"===============\") # 示例:获取hash键student:2中name、age和address字段的值。 hget1 = r.hmget(\"student:2\", [\"name\", \"age\", \"address\"]) for s in hget1: print(s.decode() if s else None) print(\"===============\") # 示例:获取hash键student:2中的所有字段和值。 student2 = r.hgetall(\"student:2\") for key, value in student2.items(): print(f\"{key.decode()}: {value.decode()}\") print(\"===============\") # 示例:获取hash键student:2中的所有字段。 hkeys = r.hkeys(\"student:2\") for s in hkeys: print(s.decode()) print(\"===============\") # 示例:获取hash键student:2中的所有值。 hvals = r.hvals(\"student:2\") for s in hvals: print(s.decode()) print(\"===============\") # 示例:删除hash键student:2中的age和address字段。 hdel = r.hdel(\"student:2\", \"age\", \"address\") print(hdel) print(\"===============\")
十、有序集合操作
有序集合(Sorted Set)通过分数(Score)实现元素的有序排列,支持按分数或索引范围查询。核心方法包括:
ZADD
:添加成员与分数;ZCOUNT
:统计指定分数范围内的成员数量;ZRANGE
:按索引范围获取成员(默认按分数升序);ZSCORE
:获取成员的分数。
有序集合适用于排行榜、实时数据排序(如点赞数、访问量)等场景。
def order_set_operation(): print(\"===========有序集合操作===========\") # 示例:给有序集合salary添加多个分数和成员。 zadd = r.zadd(\"salary\", {\"zhangsan\": 5000, \"lisi\": 4500, \"wangwu\": 6000}) print(zadd) print(\"===============\") # 示例:获取有序集合salary中的成员数量。 zcard = r.zcard(\"salary\") print(zcard) print(\"===============\") # 示例:计算有序集合中分数在5000-6500之间的成员数量。 zcount = r.zcount(\"salary\", 5000, 6500) print(zcount) print(\"===============\") # 示例:根据索引范围获取有序集合salary中的成员。 salary = r.zrange(\"salary\", 0, 1) for s in salary: print(s.decode()) print(\"===============\") # 示例:获取有序集合salary中成员wangwu的分数。 zscore = r.zscore(\"salary\", \"wangwu\") print(zscore) print(\"===============\") # 示例:移除有序集合salary中成员wangwu。 zrem = r.zrem(\"salary\", \"wangwu\") print(zrem) print(\"===============\")
十一、完整代码
本章提供完整的 Python 代码示例,整合前文各模块功能。代码通过 redis.Redis 类连接本地 Redis 服务(默认端口 6379,数据库 1),包含以下核心逻辑:
flush_db()
:清空数据库,确保测试环境干净;- 各数据类型操作函数(如 key_operation()、string_operation()):封装具体功能逻辑;
__main__ 入口
:按顺序调用各操作函数,实现完整的 Redis 交互流程。
运行前需确保 Redis 服务已启动,且代码中的连接参数与实际环境一致。
1. 完整代码
import redis# 连接到本地 Redis 服务r = redis.Redis(host=\'127.0.0.1\', port=6379, db=1)def flush_db(): # 清空数据库 r.flushdb()def key_operation(): print(\"===========键操作===========\") # 示例:给school键设置值为dy。 set_result = r.set(\"school\", \"dy\") print(set_result) print(\"===============\") # 示例:给k1键设置值为v1,k2键设置值为v2,k3键设置值为v3。 set_result1 = r.mset({\"k1\": \"v1\", \"k2\": \"v2\", \"k3\": \"v3\"}) print(set_result1) print(\"===============\") # 示例1:查看所有键。 keys = r.keys(\"*\") for key in keys: print(key.decode()) print(\"===============\") # 示例2:查看所有以k开头的键。 keys1 = r.keys(\"k*\") for key in keys1: print(key.decode()) print(\"===============\") # 示例:查看scool键的值。 school = r.get(\"school\") print(school.decode() if school else None) print(\"===============\") # 示例:查看k1、k2、k3键的值。 mget = r.mget(\"k1\", \"k2\", \"k3\") for s in mget: print(s.decode() if s else None) print(\"===============\") # 示例:查看k1键的值的序列化版本。 k1s = r.dump(\"k1\") print(k1s) print(\"===============\") # 示例1:查看school键是否存在。 exists = r.exists(\"school\") print(exists) # print(bool(exists)) print(\"===============\") # 示例2:查看k1、k2、k3、k4、k5键是否存在。 exists1 = r.exists(\"k1\", \"k2\", \"k3\", \"k4\", \"k5\") print(exists1) print(\"===============\") # 示例:查看school键的值的类型。 type_ = r.type(\"school\").decode() print(type_) print(\"===============\") # 示例:把school键重命名为new_school键。 rename = r.rename(\"school\", \"new_school\") print(rename) print(\"===============\") # 示例:把k3键的生存时间设置为600秒。 expire = r.expire(\"k3\", 600) print(expire) print(\"===============\") # 示例:查看k3键的剩余存活时间。 ttl = r.ttl(\"k3\") print(ttl) print(\"===============\") # 示例:删除k3键的存活时间。 persist = r.persist(\"k3\") print(persist) print(\"===============\") # 示例1:删除new_school键。 del_ = r.delete(\"new_school\") print(del_) print(\"===============\") # 示例2:删除k1、k2、k3键。 del1 = r.delete(\"k1\", \"k2\", \"k3\") print(del1) print(\"===============\")def string_operation(): print(\"===========字符串操作===========\") # 示例:给字符串键str1设置值为value1。 set_result = r.set(\"str1\", \"value1\") print(set_result) print(\"===============\") # 示例:给字符串键str2、str3、str4分别设置值为value2、value3、value4。 mset_result = r.mset({\"str2\": \"value2\", \"str3\": \"value3\", \"str4\": \"value4\"}) print(mset_result) print(\"===============\") # 示例:获取字符串键str1的值。 str1 = r.get(\"str1\") print(str1.decode() if str1 else None) print(\"===============\") # 示例:获取字符串键str2、str3、str4的值。 mget = r.mget(\"str2\", \"str3\", \"str4\") for s in mget: print(s.decode() if s else None) print(\"===============\") # 示例:获取字符串键str1的旧值,并设置新值为new_value1。 get_set = r.getset(\"str1\", \"new_value1\") print(get_set.decode() if get_set else None) # 查看设置后的新值。 str11 = r.get(\"str1\") print(str11.decode() if str11 else None) print(\"===============\") # 示例:获取字符串键str1的值的长度。 strlen = r.strlen(\"str1\") print(strlen) print(\"===============\") # 示例:获取字符串键str1的索引0-5的值的内容。 getrange = r.getrange(\"str1\", 0, 5) print(getrange.decode() if getrange else None) print(\"===============\") # 示例:把字符串键str1从索引2开始的后面三个字母的内容替换为aaa。 setrange = r.setrange(\"str1\", 2, \"aaa\") print(setrange) # 查看设置后的新值。 str12 = r.get(\"str1\") print(str12.decode() if str12 else None) print(\"===============\") # 示例:向字符串键str1的结尾追加内容bbb。 append = r.append(\"str1\", \"bbb\") print(append) # 查看设置后的新值。 str13 = r.get(\"str1\") print(str13.decode() if str13 else None)def list_operation(): print(\"===========列表操作===========\") # 示例:在列表右端向列表color中添加多个值。 rpush = r.rpush(\"color\", \"blue\", \"green\", \"purple\", \"red\", \"white\") print(rpush) print(\"===============\") # 示例:在列表左端向列表color中添加多个值。 lpush = r.lpush(\"color\", \"blue2\", \"green2\", \"purple2\", \"red2\", \"white2\") print(lpush) print(\"===============\") # 示例1:获取列表color中索引0-5的元素。 color = r.lrange(\"color\", 0, 5) for s in color: print(s.decode()) print(\"===============\") # 示例2:获取列表color中的所有元素。 color1 = r.lrange(\"color\", 0, -1) for s in color1: print(s.decode()) print(\"===============\") # 示例:获取列表color中索引为2的元素。 color2 = r.lindex(\"color\", 2) print(color2.decode() if color2 else None) print(\"===============\") # 示例:移除并获取列表color中的最后一个(最右端)元素。 rpop = r.rpop(\"color\") print(rpop.decode() if rpop else None) print(\"===============\") # 示例:移除并获取列表color中的第一个(最左端)元素。 lpop = r.lpop(\"color\") print(lpop.decode() if lpop else None) print(\"===============\") # 示例:获取列表color的长度。 llen = r.llen(\"color\") print(llen) print(\"===============\") # 示例1:从列表开头开始搜索移除列表color中1个red元素。 lrem = r.lrem(\"color\", 1, \"red\") print(lrem) print(\"===============\") # 示例2:从列表结尾开始搜索移除列表color中3个blue元素。 lrem1 = r.lrem(\"color\", -3, \"blue\") print(lrem1) print(\"===============\") # 示例3:移除列表color中所有blue2元素。 lrem2 = r.lrem(\"color\", 0, \"blue2\") print(lrem2) print(\"===============\")def set_operation(): print(\"===========集合操作===========\") # 示例:给集合键set1添加多个成员。 sadd = r.sadd(\"set1\", \"mem1\", \"mem2\", \"mem3\") print(sadd) print(\"===============\") # 示例:查看集合键set1中成员的数量。 scard = r.scard(\"set1\") print(scard) print(\"===============\") # 示例:查看集合键set1中的所有成员。 set1 = r.smembers(\"set1\") for s in set1: print(s.decode()) print(\"===============\") # 示例:检查成员mem1是否在集合set1中。 sismember = r.sismember(\"set1\", \"mem1\") print(sismember) print(\"===============\") # 示例:移除集合set1中成员mem3。 srem = r.srem(\"set1\", \"mem3\") print(srem) print(\"===============\") # 示例:把集合set1中成员mem2移动到集合set2中。 smove = r.smove(\"set1\", \"set2\", \"mem2\") print(smove) print(\"===============\")def hash_operation(): print(\"===========哈希表操作===========\") # 示例:给哈希表student添加一个学生信息。 hset = r.hset(\"student:1\", \"name\", \"zhangsan\") print(hset) hset1 = r.hset(\"student:1\", \"age\", \"19\") print(hset1) hset2 = r.hset(\"student:1\", \"address\", \"yunnan\") print(hset2) print(\"===============\") # 示例:给哈希表student添加一个学生信息。 # 修复:使用 hset 替代 hmset,传入映射字典 hmset = r.hset(\"student:2\", mapping={\"name\": \"lisi\", \"age\": \"20\", \"address\": \"guizhou\"}) print(hmset) print(\"===============\") # 示例:获取hash键student:2中name字段的值。 hget = r.hget(\"student:2\", \"name\") print(hget.decode() if hget else None) print(\"===============\") # 示例:获取hash键student:2中name、age和address字段的值。 hget1 = r.hmget(\"student:2\", [\"name\", \"age\", \"address\"]) for s in hget1: print(s.decode() if s else None) print(\"===============\") # 示例:获取hash键student:2中的所有字段和值。 student2 = r.hgetall(\"student:2\") for key, value in student2.items(): print(f\"{key.decode()}: {value.decode()}\") print(\"===============\") # 示例:获取hash键student:2中的所有字段。 hkeys = r.hkeys(\"student:2\") for s in hkeys: print(s.decode()) print(\"===============\") # 示例:获取hash键student:2中的所有值。 hvals = r.hvals(\"student:2\") for s in hvals: print(s.decode()) print(\"===============\") # 示例:删除hash键student:2中的age和address字段。 hdel = r.hdel(\"student:2\", \"age\", \"address\") print(hdel) print(\"===============\")def order_set_operation(): print(\"===========有序集合操作===========\") # 示例:给有序集合salary添加多个分数和成员。 zadd = r.zadd(\"salary\", {\"zhangsan\": 5000, \"lisi\": 4500, \"wangwu\": 6000}) print(zadd) print(\"===============\") # 示例:获取有序集合salary中的成员数量。 zcard = r.zcard(\"salary\") print(zcard) print(\"===============\") # 示例:计算有序集合中分数在5000-6500之间的成员数量。 zcount = r.zcount(\"salary\", 5000, 6500) print(zcount) print(\"===============\") # 示例:根据索引范围获取有序集合salary中的成员。 salary = r.zrange(\"salary\", 0, 1) for s in salary: print(s.decode()) print(\"===============\") # 示例:获取有序集合salary中成员wangwu的分数。 zscore = r.zscore(\"salary\", \"wangwu\") print(zscore) print(\"===============\") # 示例:移除有序集合salary中成员wangwu。 zrem = r.zrem(\"salary\", \"wangwu\") print(zrem) print(\"===============\")if __name__ == \"__main__\": flush_db() key_operation() string_operation() list_operation() set_operation() hash_operation() order_set_operation()
2. 项目下载
下载地址:https://download.csdn.net/download/zcs2312852665/90889723