【问题标题】:using redis-py to bulk populate a redis list使用 redis-py 批量填充 redis 列表
【发布时间】:2016-10-08 16:42:45
【问题描述】:

在 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]),它也不起作用(错误:int() 的无效文字,基数为 10:'[')。

将 LPUSH 大量值批量放入 redis 列表的最佳方法是什么(首选 Python 示例)。

【问题讨论】:

    标签: python django redis


    【解决方案1】:

    lpush (list_name, *values_list)

    这会将 value_list 中的内容解压缩为参数。

    如果您有大量的值要插入到数据库中,您可以通过管道将它们插入。或者您可以使用命令行工具redis-cli --pipe 填充数据库

    【讨论】:

      猜你喜欢
      • 2021-06-01
      • 2014-04-20
      • 2013-09-23
      • 2012-08-29
      • 2013-05-08
      • 2012-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多