Python利用redis-py實現集合與有序集合的常用指令操作
集合數據類型的添加操作
在 “redis-py” 中也是通過 “sadd” 這條指令去創(chuàng)建添加集合數據類型的,這一點與在 “redis” 中是一致的。示例如下:
con.sadd("JobNumber", 1001, 1002, 1003)
# 這里的 con 就是創(chuàng)建的連接的變量
# sadd 指令實現集合數據類型的創(chuàng)建,并添加對應的元素(創(chuàng)建 JobNumber 集合,并添加元素 1001、1002、1003)
# 集合元素不可重復
集合數據類型的刪除元素操作
同樣的,與 “redis” 一樣,在 “redis-py” 中也是用 “srem” 指令執(zhí)行刪除元素的操作
con.srem("JobNumber", 1001)
# 這里的 con 就是創(chuàng)建的連接的變量
# srem 指令實現集合數據類型的指定元素刪除
獲取集合數據類型的所有元素
獲取集合數據類型中的所有元素的指令,依然是與 “redis” 中相同,使用的是 “smembers”
con.smembers("JobNumber")
# 這里的 con 就是創(chuàng)建的連接的變量
# smembers 指令實現獲取集合數據類型的所有元素
有序集合數據類型的添加操作
“redis-py” 中針對有序集合的添加操作與 “redis” 中使用的也是相同的 “zadd” 命令。
但是在 python 中使用起來有些特殊:
在 “redis” 中我們添加有序集合數據類型的分數值是先寫 “分數值” ,再寫 “元素值” 的寫法,如 ZADD HotSearch 0 Java 0 Python
但是在 python 中就不能這樣寫了,在 python 中傳入的第一個參數是記錄的名稱,第二個參數則需要為字典,且 “元素值” 在前,“分數值” 在后,如 ZADD("HotSearch", {"Java": 1, "Python": 3, "C++": 5} ...)
如此,有序集合才會被創(chuàng)建;元素也才會被添加到有序集合的記錄中。
con.zadd("HotSearch", {"Java": 1, "Python": 3, "C++": 5})
# 這里的 con 就是創(chuàng)建的連接的變量
# zadd 指令實現有序集合數據類型的創(chuàng)建,并添加對應的元素(創(chuàng)建 HotSearch 集合,并添加元素)
# 與集合一樣,有序集合中的元素同樣不可重復。
有序集合數據類型的分數值增加操作
在 “redis-py” 中操作有序集合數據類型增加分數的指令與 “redis” 也是一致的,且使用方法上,也沒有任何區(qū)別。
con.zincrby("HotSearch", "10", "Java")
# 這里的 con 就是創(chuàng)建的連接的變量
# zincrby 指令實現有序集合數據類型的分值的增加
有序集合數據類型的排序指令(降序)
在 “redis-py” 中,也是使用的 “zrevrange” 實現有序集合中降序排序(按照分值進行降序排序)
con.zrevrange("HotSearch", 0, -1)
# 這里的 con 就是創(chuàng)建的連接的變量
# zrevrange 指令實現有序集合中降序排序(按照分值進行降序排序)
集合與有序集合相關指令演示小案例
example_set.py 模塊演示案例如下:(其實這里同樣應該使用 try...except...finally 進行異常捕獲,但是我依然懶得寫了...)
# coding:utf-8
import redis
from redis_db import redis_Pool # 導入 redis_db模塊 的 redis_Pool
"""
創(chuàng)建 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



到此這篇關于Python利用redis-py實現集合與有序集合的常用指令操作的文章就介紹到這了,更多相關Python redis-py集合內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

