redis - 如何使用重复成员将排序后的数据存储在 Redis 中?

标签 redis

我是 Redis 新手,遇到以下问题:

给定有序集 myzset: [ [1,"A"], [2, "B"], [3, "C"] ]

我希望能够在集合中添加 [4, "A"]。

到目前为止,如果我使用

ZADD myzset 4 "A"

因为成员“A”已经在我返回的集合中 [ [4,"A"], [2, "B"], [3, "C"] ]

而不是

[[1,"A"],[2,"B"],[3,"C"],[4,"A"]]

我怎样才能插入数据,使集合成为

[ [1,"A"], [2, "B"], [3, "C"], [4, "A"] ] ?

最佳答案

Redis 的有序集(和常规集)不允许重复的成员。您应该重新考虑您正在尝试做什么(甚至可能编辑您的问题以解释您正在存储的数据以及您希望如何检索它)并可能使用不同的方法和/或数据结构。

在有必要且有意义的情况下,将非唯一成员存储在 Sorted Set 中时,您通常会将某种唯一标识符连接到该成员。例如,如果您要存储时间序列(例如来自设备的测量值),您会将时间戳存储为分数,将 id:timestamp 存储为成员。

关于redis - 如何使用重复成员将排序后的数据存储在 Redis 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31322799/

相关文章:

node.js - 返回带有对象的 redis 列表时避免迭代

python - Redis:如何有效地检查空嵌套键

laravel - 我可以在 Redis 中存储这种类型的数据吗?

node.js - Nodejs App Engine标准env Redis错误读取为ECONNRESET

redis - 原redis master在哨兵故障转移后复活时的状态

Golang 递增数据到 Redis

Redis - 根据另一个集合中的名称对 ID 进行排序

redis - 如何防止重复图中的数据重复?

ruby - 对 Ancestry 类型数据库 : MongoDB, Redis 等的建议?

具有多个 redis 实例的 Redis 分片(每个都禁用集群模式)与启用集群模式