redis 雜湊封裝

2022-06-28 09:48:08 字數 1566 閱讀 5847

import

redis

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配置的位元組。控制雜湊內的個數,盡量不要寫入 不要超過...