Redis-4-redis操作散列(hashes對應的字典)

前言

redis中的Hash 在內存中類似於一個name對應一個dict來存儲 

 

hashes常用方法

hset(name, key, value) :設置一個hash值

hget(name,key) :獲取name對應key的value

hgetall(name) :獲取name對應的所有鍵值對

import redis

r = redis.Redis()
# name(此處爲hash001)中設置一個鍵值對(不存在,則創建,否則,修改)
r.hset("hash001","age",18)
r.hset("hash001","city","wuxi")
print("打印出hash001中age對應的value:",r.hget("hash001","age"))  # 結果:b'18'
print("打印出hash001中所有的鍵值對:",r.hgetall("hash001"))  # 結果:{b'age': b'18', b'city': b'wuxi'}

 

hmset(name, mapping) :批量設置鍵值對

hmget(name, keys, *args) :獲取多個key的value

import redis

r = redis.Redis()
r.hmset("hash001",{"age":18,"city":"wuxi","sex":"male"})
print("取出hash001中key爲sex的value:",r.hget("hash001","sex")) # 結果: b'male'
print("取出hash001中key爲age和city的value:",r.hmget("hash001","age","city"))  # 結果:返回的是一個列表,[b'18', b'wuxi']

 

hlen(name):獲取hash中對應name的所有鍵值對個數

hkeys(name):獲取hash中對應name的所有key值

hvals(name):獲取hash中對應name的所有value值

import redis

r = redis.Redis()
r.hmget("hash001",{"age":18,"city":"wuxi","sex":"male"})
print("hash001中的鍵值對個數:",r.hlen("hash001"))  # 結果:3
print("hash001中所有的key:",r.hkeys("hash001"))   # 結果:[b'age', b'city', b'sex']
print("hash001中所有的value:",r.hvals("hash001"))   # 結果:[b'18', b'wuxi', b'male']

 

hexists(name, key):判斷hash中指定key是否存在,存在返回True,不存在返回False

import redis

r = redis.Redis()
r.hmget("hash001",{"age":18,"city":"wuxi","sex":"male"})
print(r.hexists("hash001","age"))  # 結果:True
print(r.hexists("hash001","school"))  # 結果:False

 

hdel(name,*keys):刪除hash中key對應的鍵值對,可刪除多個

import redis

r = redis.Redis()
r.hmget("hash001",{"age":18,"city":"wuxi","sex":"male"})
r.hdel("hash001","age")
print("刪除key爲age後key爲city和sex的value:",r.hmget("hash001","city","sex")) # 結果:[b'wuxi', b'male']

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章