重复的redis列表

时间:2016-11-11 11:29:26

标签: redis

鉴于我有一个存储在密钥“A”中的列表,如何在不同的密钥“B”中复制该列表?

我知道对于非列表值,我可以“获取”,然后“设置”。但是对于我尝试获取它的列表,我看到了WRONGTYPE操作错误。

3 个答案:

答案 0 :(得分:3)

Redis支持5种不同的数据结构,例如:

  • 键值
  • 字符串
  • Hashs
  • 解释

每个数据结构都有自己的命令。

要获取当前列表,您应该使用 LRANGE 命令。

前缀L引用List数据结构。

(Redis Set数据结构使用 SETRANGE 有一个相关的范围命令)

如果您阅读Redis LRANGE documentation,您将了解如何使用它。

以下是您可能使用的简要代码:

LRANGE mylist 0 -1

如果列表是mylist,则从中获取值。

  

偏移开始和停止是从零开始的索引,0是   列表的第一个元素(列表的头部),1是下一个元素   元素等等。

-1用于描述列表中的最后一个元素。

现在您应该使用LPUSHRPUSH取决于您希望将旧元素插入新列表的列表方。

答案 1 :(得分:1)

您应该使用LPUSH获取第一个列表的所有元素,然后使用RPUSH+#####-###-#### 将这些元素放入第二个列表。

答案 2 :(得分:1)

无论数据结构如何,复制键值的另一种方法是DUMP它,然后RESTORE将其转换为新键。在大多数情况下,这种方法也是最快的。