(七)7-2redis hash類型及其他常用操作
阿新 • • 發佈:2017-12-06
檢查 dict hello type app hex als cti 重命名
Hash類型操作
redis 在內存中存儲hash類型是以name對應字典形式存儲
hset(name,key,value)
name 對應hash中設置一個鍵值對(不存在,創建;否則,修改)
hget(name,key)
name對應的hash中獲取根據key的value
hmset(name,mapping)
name對應的hash中批量設置鍵值對
hmget(name,keys,*args)
name對應的hash中獲取對個key的值
hgetall(name) 獲取name對應hash的所有鍵值
hlen(name) 獲取name對應的hash中鍵值的個數
hkeys(name) 獲取name對應的hash中所有的key的值
hvals(name) 獲取name對應的hash中所有的value的值
hexists(name,key) 檢查name對應的hash是否存在當前傳入的key
hdel(name,*keys) 將name對應的hash中指定key的鍵值對刪除
例子:
#!/usr/bin/env python #coding:utf8 import redis redis_config = { "host" : "192.168.88.100", "port":6379, "db":0 } pool = redis.ConnectionPool(**redis_config) r = redis.Redis(connection_pool=pool) #hash類型的操作 一個name對應一個字典 #hset hget hmset hmget r.hset("dict1","hello","world") print(r.hget("dict1","hello")) r.hmset("dict1",{"key1":"value1","key2":"value2","key3":"value3"}) print(r.hmget("dict1","key1","hello")) print(r.hgetall("dict1")) print(r.hlen("dict1")) print (r.hkeys("dict1")) print(r.hvals("dict1")) print(r.hexists("dict1","hello")) print(r.hexists("dict1","hello11")) r.hdel("dict1","key2") print(r.hgetall("dict1"))
運行結果:
world [‘value1‘, ‘world‘] {‘key3‘: ‘value3‘, ‘key2‘: ‘value2‘, ‘key1‘: ‘value1‘, ‘hello‘: ‘world‘} 4 [‘hello‘, ‘key3‘, ‘key1‘, ‘key2‘] [‘world‘, ‘value3‘, ‘value1‘, ‘value2‘] True False {‘key3‘: ‘value3‘, ‘key1‘: ‘value1‘, ‘hello‘: ‘world‘}
其他常用操作
delete(*names)
#根據name刪除redis中的任意數據類型
exists(name)
#檢測redis的name是否存在
keys(pattern=‘*‘)
#根據* ?等通配符匹配獲取redis的name
expire(name ,time)
# 為某個name設置超時時間
rename(src, dst)
# 重命名
move(name, db))
將redis的某個值移動到指定的db下
# 將redis的某個值移動到指定的db下
type(name)
# 獲取name對應值的類型
例子:
import redis redis_config = { "host" : "192.168.88.100", "port":6379, "db":0 } pool = redis.ConnectionPool(**redis_config) r = redis.Redis(connection_pool=pool) print(r.keys()) r.delete("name1") print(r.keys()) print(r.type("dict1")) # r.rename("cnblogs","blog") r.rename("blog","cnblogs") print(r.keys()) print(r.exists("blog"))
運行結果:
[‘set_name‘, ‘dict1‘, ‘name4‘, ‘blog‘, ‘name2‘, ‘name3‘, ‘name1‘, ‘name‘] [‘set_name‘, ‘dict1‘, ‘name4‘, ‘blog‘, ‘name2‘, ‘name3‘, ‘name‘] hash [‘set_name‘, ‘dict1‘, ‘cnblogs‘, ‘name4‘, ‘name2‘, ‘name3‘, ‘name‘] False
(七)7-2redis hash類型及其他常用操作