redis中的集合是否具有确定性?
我正试图两全其美。使用redis集合以及决定论。这可能吗 我正在使用常用命令存储一个集合:redis中的集合是否具有确定性?,redis,Redis,我正试图两全其美。使用redis集合以及决定论。这可能吗 我正在使用常用命令存储一个集合: SADD myset "foo" SADD myset "bar" 但是如果我请求一个元素来处理 SRANDMEMBER myset 我希望返回的元素是确定性的。实际上,我并不关心它是哪一个,但我希望代码中的路径是可复制的,否则调试就会变得相当困难 是否可以在redis中设置种子,或使用其他技术,以确保上述三个操作按顺序始终返回相同的元素?No-SRANDMEMBER的行为是不可控的 如果您需要订单,
SADD myset "foo"
SADD myset "bar"
但是如果我请求一个元素来处理
SRANDMEMBER myset
我希望返回的元素是确定性的。实际上,我并不关心它是哪一个,但我希望代码中的路径是可复制的,否则调试就会变得相当困难
是否可以在redis中设置种子,或使用其他技术,以确保上述三个操作按顺序始终返回相同的元素?No-
SRANDMEMBER
的行为是不可控的
如果您需要订单,即使只是为了调试,我建议您使用不同的方法。排序集是此任务的自然候选集,其行为类似于集合-使用0分数,以便按字典顺序对成员排序,并将对
SRANDMEMBER
的调用替换为ZRANGE
,将您自己的客户机生成的随机排名或确定性排名传递给它。您需要此特定案例来在代码中重复特定场景吗?