文章内容

2019/1/15 10:35:08,作 者: 黄兵

Redis删除Hash所有键值的方法

最近Redis的原始数据已经很多了,内存快要满了,需要清理:

看看某个hash具体的内容如下:

如果要全部删除里面的键值对,具体代码如下:

# 删除hash所有数据
hkey = 'time:' + item
all_keys = list(conn.hgetall(hkey).keys())
if all_keys:
    conn.hdel(hkey, *all_keys)

为什么要用if all_keys:这个主要是判断hash里面是否还有数据,如果没有数据执行conn.hel()会报错,具体报错内容如下:

 (error) ERR wrong number of arguments for 'del' command

主要是hash里面的key为0,才会导致报错,所以删除之前需要判断。


参考资料:

1、Redis命令参考简体中文版 2.4.1 documentation

2、Remove complete hashset at once in redis


黄兵个人博客原创。

转载请注明出处:黄兵个人博客 - Redis删除Hash所有键值的方法

分享到:

发表评论

评论列表