在Redis中删除密钥的多个字段

hje*_*mig 2 python redis

我的字典如下:

dict1 = {"a":"foo","b":"bar","c":"foobar"}
Run Code Online (Sandbox Code Playgroud)

dict1的键是redis中键的字段.我想用hdel删除Redis中的那些字段.我想知道是否有可能一次发送多个字段到redis.

我想从dict1创建一个键列表并将其传递给redis.hdel,但它不起作用,我总是返回false.将会提供任何帮助/建议.

list1 = []
key = "somerediskey"
    for k in dict1:
        list1.append(k)
data = redis_connection.hdel(key, list1)
Run Code Online (Sandbox Code Playgroud)

iur*_*vio 7

Python redis lib接受一个hdel(name, *keys),所以你应该这样做:

data = redis_connection.hdel(key, *list1)
Run Code Online (Sandbox Code Playgroud)

此外,您不需要创建键列表,您可以使用dict1.keys():

key = "somerediskey"
data = redis_connection.hdel(key, *dict1.keys())
Run Code Online (Sandbox Code Playgroud)

相关文档:http://kushal.fedorapeople.org/redis-py/html/api.html#redis.StrictRedis.hdel