考虑到这个简单的块:
mget object:1 object:2 object:3
redis是否保证返回顺序总是[object:1,object:2,object:3]
?
我使用的是标准的ruby redis client(v3.3.0),所以它应该返回与redis完全一样的结果,而且不会影响任何东西。
考虑到这个简单的块:
mget object:1 object:2 object:3
redis是否保证返回顺序总是[object:1,object:2,object:3]
?
我使用的是标准的ruby redis client(v3.3.0),所以它应该返回与redis完全一样的结果,而且不会影响任何东西。
2条答案
按热度按时间bqf10yzr1#
虽然文档没有明确说明这一点,但我认为它确实保证了顺序。如果没有的话,这将是一个非常无用的命令。
inkz8wg92#
由于Redis集群被广泛使用,我不得不在这里做一个说明:
mget
在Redis独立模式下确实保证了订单,就像@Sergio的回答所说的那样但在Redis集群中,是客户端库决定了结果的顺序。显然,他们中的一些人不做保证,例如,vert.x redis client。关于source code:
我们可以看到它只是合并了来自每个节点的
mget
结果,因此这里没有提供顺序保证。