使用redis-py批量填充Redis列表

3
在Django项目中,我正在使用redis作为快速后端。我可以像这样在redis列表中LPUSH多个值:
lpush(list_name,"1","2","3")

然而,如果我尝试的话,我就做不到。

values_list = ["1","2","3"]
lpush(list_name,values_list)

记录一下,此方法不会返回错误。相反,它会创建一个名为list_name的列表,并赋予单个值,例如['["1","2","3"]']。但是,如果稍后执行AnObject.objects.filter(id__in=values_list)将无法使用此列表。也不能使用AnObject.objects.filter(id__in=values_list[0]) (错误:基数10中的无效文字)。请问如何以最佳方式(Python例子优先)批量LPUSH多个值到Redis列表中?
1个回答

0

lpush (list_name, *values_list)

这将把value_list中的内容解包为参数。

如果您有大量的值要插入到数据库中,可以使用管道技术进行批量插入。或者您可以使用命令行工具redis-cli --pipe来填充数据库。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接