如何在redis中加入2个列表

Ser*_*rán 5 list redis

介绍

我正在尝试做一些听起来很简单的事情,但到目前为止我还没有找到答案。我在 redis 2.6.4 独立服务器(无集群)中有 2 个列表:

list1 = [4, 5 ,6]

list2 = [1, 2, 3]
Run Code Online (Sandbox Code Playgroud)

问题

我需要连接列表以生成如下内容:

list3 = list1 + list2

list3 = [4, 5, 6, 1, 2, 3] <- I need to preserve order, list1 and then list 2

list4 = list2 + list1

list4 = [1, 2, 3, 4, 5, 6]
Run Code Online (Sandbox Code Playgroud)

问题

由于 Redis 使用链接列表来存储此列表,我希望有一种简单的方法来执行此操作,是否存在这种方法?在redis中执行此操作的通常方法是什么?

提前致谢!

Tom*_*gli 1

安全地执行此操作的最简单方法是使用 LUA 脚本,这样您就可以保证结果列表不会丢失任何元素(并且您可以轻松保留顺序)。

如果 LUA 不是一个选项,那么您需要执行此客户端操作并使用监视这些键的更改(请参阅 redis 中的事务和 WATCH 命令)