importredis
pool = redis.connectionpool(host='
127.0.0.1
', port=6379, db=11, max_connections=10)
#封裝hash方法
class
redisdb:
def__init__(self, key): #
key為表名
self.conn = redis.redis(connection_pool=pool, decode_responses=true)
self.key =key
#新增資料
defset(self, dic):
self.conn.hmset(self.key, dic)
def get_values(self, *field):
data_bytes =self.conn.hmget(self.key, field)
if data_bytes !=[none]:
data = json.loads(data_bytes[0]) if len(data_bytes)==1 else
\ [i != none and json.loads(i) or i for i in
data_bytes]
else
: data ={}
return
data
#獲取全部`field` 和 `value
defget_all(self):
all =self.conn.hgetall(self.key)
all_dict =
return
all_dict
#刪除def hdel(self, *field):
#如果只傳field ,會有解包錯誤, 而不執行**的情況
return self.conn.hdel(self.key, *field)
#檢視所有的value
defhvals(self):
return
self.conn.hvals(self.key)
#檢視所有的field
defhkeys(self):
keys =self.conn.hkeys(self.key)
keys_list = [i for i in
keys]
return
keys_list
#檢視有幾個鍵值對
defhlen(self):
keys =self.conn.hlen(self.key)
keys_list = [i for i in
keys]
return
keys_list
#判斷hash表中指定域是否存在,返回1,若key或field不存在則返回0;
defhexists(self, field):
return self.conn.hexists(self.key, field)
借鑑封裝,返回值bytes修改str型別
Redis雜湊命令
1 hset key field value 設定雜湊的乙個字段值 hset person name wuhen 返回 integer 12 hget key field 得到雜湊乙個字段值 hget person name 返回 wuhen 3 hmset key field value fiel...
redis 雜湊函式
redis命令集 hmset keys 欄位名 值 欄位名 值 欄位名 值 hmset keys 欄位名 值 可以追 加欄位,可以修改字段,如果已經存在就會修改,不存在就新增字段 hdel keys 欄位名1 欄位名2 刪除字段,如果欄位不存在返回0,如果刪除多個字段,有乙個欄位不存在,那個所有欄位...
《Redis 雜湊物件》
一 概述 redis 原始碼版本為3.0.0.redis 雜湊命令請戳。object encoding key 檢視資料底層型別實現。二 總結 使用 hash 時 控制資料大小,盡量不要寫入 不要超過 hash max ziplist value配置的位元組。控制雜湊內的個數,盡量不要寫入 不要超過...