Python redis-py集合
不渴望力量的哈士奇 人气:0集合数据类型的添加操作
在 “redis-py” 中也是通过 “sadd” 这条指令去创建添加集合数据类型的,这一点与在 “redis” 中是一致的。示例如下:
con.sadd("JobNumber", 1001, 1002, 1003) # 这里的 con 就是创建的连接的变量 # sadd 指令实现集合数据类型的创建,并添加对应的元素(创建 JobNumber 集合,并添加元素 1001、1002、1003) # 集合元素不可重复
集合数据类型的删除元素操作
同样的,与 “redis” 一样,在 “redis-py” 中也是用 “srem” 指令执行删除元素的操作
con.srem("JobNumber", 1001) # 这里的 con 就是创建的连接的变量 # srem 指令实现集合数据类型的指定元素删除
获取集合数据类型的所有元素
获取集合数据类型中的所有元素的指令,依然是与 “redis” 中相同,使用的是 “smembers”
con.smembers("JobNumber") # 这里的 con 就是创建的连接的变量 # smembers 指令实现获取集合数据类型的所有元素
有序集合数据类型的添加操作
“redis-py” 中针对有序集合的添加操作与 “redis” 中使用的也是相同的 “zadd” 命令。
但是在 python 中使用起来有些特殊:
在 “redis” 中我们添加有序集合数据类型的分数值是先写 “分数值” ,再写 “元素值” 的写法,如 ZADD HotSearch 0 Java 0 Python
但是在 python 中就不能这样写了,在 python 中传入的第一个参数是记录的名称,第二个参数则需要为字典,且 “元素值” 在前,“分数值” 在后,如 ZADD("HotSearch", {"Java": 1, "Python": 3, "C++": 5} ...)
如此,有序集合才会被创建;元素也才会被添加到有序集合的记录中。
con.zadd("HotSearch", {"Java": 1, "Python": 3, "C++": 5}) # 这里的 con 就是创建的连接的变量 # zadd 指令实现有序集合数据类型的创建,并添加对应的元素(创建 HotSearch 集合,并添加元素) # 与集合一样,有序集合中的元素同样不可重复。
有序集合数据类型的分数值增加操作
在 “redis-py” 中操作有序集合数据类型增加分数的指令与 “redis” 也是一致的,且使用方法上,也没有任何区别。
con.zincrby("HotSearch", "10", "Java") # 这里的 con 就是创建的连接的变量 # zincrby 指令实现有序集合数据类型的分值的增加
有序集合数据类型的排序指令(降序)
在 “redis-py” 中,也是使用的 “zrevrange” 实现有序集合中降序排序(按照分值进行降序排序)
con.zrevrange("HotSearch", 0, -1) # 这里的 con 就是创建的连接的变量 # zrevrange 指令实现有序集合中降序排序(按照分值进行降序排序)
集合与有序集合相关指令演示小案例
example_set.py 模块演示案例如下:(其实这里同样应该使用 try...except...finally 进行异常捕获,但是我依然懒得写了...)
# coding:utf-8 import redis from redis_db import redis_Pool # 导入 redis_db模块 的 redis_Pool """ 创建 redis 连接 """ con = redis.Redis( connection_pool=redis_Pool ) """ 利用 redis-py 实现对 集合 数据类型的添加操作(逻辑库 0) """ con.sadd("JobNumber", 1001, 1002, 1003) """ 利用 redis-py 实现对 集合 数据类型的指定元素的删除操作 """ con.srem("JobNumber", 1001) """ 利用 redis-py 实现对 集合 数据类型的全部元素读取 """ result = con.smembers("JobNumber") for set_1 in result: print("JobNumber 集合 中的元素:", set_1.decode("utf-8")) """ 利用 redis-py 实现对 有序集合 数据类型的添加操作(注意:传入的第一个参数是记录的名称,第二个参数则需要为字典,且 "元素值" 在前,"分数值" 在后) """ con.zadd("HotSearch", {"Java": 1, "Python": 3, "C++": 5}) """ 利用 redis-py 实现对 有序集合 数据类型指定元素的分值增加 """ con.zincrby("HotSearch", "10", "Java") """ 利用 redis-py 实现对 有序集合 数据类型的排序指令(降序) """ result = con.zrevrange("HotSearch", 0, -1) for set_2 in result: print("HotSearch 有序集合 中的元素:", set_2.decode("utf-8")) """ 删除 redis 连接 (redis连接被删除后,会自动被 Python 的垃圾回收机制回收) """ del con
加载全部内容