前几天在用hmset() 写入多个键值对时出错:DeprecationWarning: Redis.hmset() is deprecated. Use Redis.hset() instead 后来查一下发现原来是新版本不支持该方法,需要降版本。
倒退行为可耻...
然后自己写了一个一次性将多个哈希数据类型写入Redis的方法:
db = redis.StrictRedis(host=host, port=port, password=password, decode_responses=True)
name = 'testName'
userinfo = {'name':'litong','sex':'1', 'tel':'888888'} #需要写入的多条键名及键值对
def mset(name, userinfo):
try:
userinfo = f"{userinfo}" #要先格式化,不然下面的.split()无法使用
infolist = userinfo.split(',') #对每组进行分割,分割符可改自己的
for pair in infolist:
key, value = pair.split(':', 1) #键值对,符号:可改自己的
key = key.strip()
value = value.strip()
db.hset(name, key, value)
return True
except Exception as e:
raise f'::批量写入出错: {e}'
想要简洁的就直接下面:
db = redis.StrictRedis(host=host, port=port, password=password, decode_responses=True)
name = 'testName'
userinfo = {'name':'litong','sex':'1', 'tel':'888888'} #需要写入的多条键名及键值对
def mset(name, userinfo):
userinfo = f"{userinfo}" #要先格式化,不然下面的.split()无法使用
infolist = userinfo.split(',') #对每组进行分割,分割符可改自己的
for pair in infolist:
key, value = pair.split(':', 1) #键值对,符号:可改自己的
key = key.strip()
value = value.strip()
db.hset(name, key, value)
return True
最后调用 mset(name,userinfo) #写入多条,键名及值