Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
redis中的集合是否具有确定性?_Redis - Fatal编程技术网

redis中的集合是否具有确定性?

redis中的集合是否具有确定性?,redis,Redis,我正试图两全其美。使用redis集合以及决定论。这可能吗 我正在使用常用命令存储一个集合: SADD myset "foo" SADD myset "bar" 但是如果我请求一个元素来处理 SRANDMEMBER myset 我希望返回的元素是确定性的。实际上,我并不关心它是哪一个,但我希望代码中的路径是可复制的,否则调试就会变得相当困难 是否可以在redis中设置种子,或使用其他技术,以确保上述三个操作按顺序始终返回相同的元素?No-SRANDMEMBER的行为是不可控的 如果您需要订单,

我正试图两全其美。使用redis集合以及决定论。这可能吗

我正在使用常用命令存储一个集合:

SADD myset "foo"
SADD myset "bar"
但是如果我请求一个元素来处理

SRANDMEMBER myset
我希望返回的元素是确定性的。实际上,我并不关心它是哪一个,但我希望代码中的路径是可复制的,否则调试就会变得相当困难


是否可以在redis中设置种子,或使用其他技术,以确保上述三个操作按顺序始终返回相同的元素?

No-
SRANDMEMBER
的行为是不可控的


如果您需要订单,即使只是为了调试,我建议您使用不同的方法。排序集是此任务的自然候选集,其行为类似于集合-使用0分数,以便按字典顺序对成员排序,并将对
SRANDMEMBER
的调用替换为
ZRANGE
,将您自己的客户机生成的随机排名或确定性排名传递给它。

您需要此特定案例来在代码中重复特定场景吗?