【发布时间】:2012-06-12 05:46:40
【问题描述】:
我有一个列表,我正在使用 RPUSH 添加元素,它返回列表的更新长度。我的问题是,使用返回的长度 - 1 作为新插入项的索引是否可靠?
可靠的意思是,如果我有多个到 Redis 的连接执行相同的操作,是否保证不会有任何重叠,例如在两个同时发生的 RPUSH 之后实际返回的返回长度,或者 Redis 的列表操作是原子的默认还是我需要交易?
【问题讨论】:
我有一个列表,我正在使用 RPUSH 添加元素,它返回列表的更新长度。我的问题是,使用返回的长度 - 1 作为新插入项的索引是否可靠?
可靠的意思是,如果我有多个到 Redis 的连接执行相同的操作,是否保证不会有任何重叠,例如在两个同时发生的 RPUSH 之后实际返回的返回长度,或者 Redis 的列表操作是原子的默认还是我需要交易?
【问题讨论】:
考虑到 redis 命令的原子性,您可以 100% 确定每个 RPUSH 之后都会有相应的整数回复,因此可以安全地假设您的元素的索引为 (integer_reply - 1)。我已经回答了一个与此相关的问题here。
【讨论】: