gpt4 book ai didi

ruby - Redis-rb 通过 redis.lpush 推送数组使列表变平

转载 作者:IT王子 更新时间:2023-10-29 05:57:32 25 4
gpt4 key购买 nike

我正在尝试使用 LPUSH 将多个值推送到 redis 列表。代码看起来像这样:

mylist = ["1", "2", "3", "4"]
$redis.lpush(name, mylist)

上面的问题是列表变得扁平化,看起来像“1234”。在这种情况下,如何使用 LPUSH 将 4 个单独的元素推送到 name 数组?

最佳答案

你可能想看看:

Redis-rb 版本 2.2.2 不支持可变命令。它们已在 3.0 版中引入,但尚未交付。

在可变参数命令中没有特定的方法来处理数组。您的代码可能适用于 3.0 版。

同时,我建议您使用如下管道:

name = "toto"
mylist = [ 1,2,3,4,5 ]
$redis.pipelined{ mylist.each{ |x| $redis.lpush(name,x) } }

使用管道,往返次数将与使用可变参数命令相同。

如果你真的想使用可变参数命令,你可以使用以下方法轻松安装 3.0 的预发布版本:

gem install --prerelease redis
gem list redis 

*** LOCAL GEMS ***
redis (3.0.0.rc1, 2.2.2)

并使用以下命令在您的脚本中激活它:

gem 'redis', '3.0.0.rc1'
require 'redis'

请注意,如果您有依赖于 redis gem 的其他 gem,您将遇到一些依赖性问题。最好等待 IMO 正式交付。

关于ruby - Redis-rb 通过 redis.lpush 推送数组使列表变平,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10303048/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com