使用jedis恢复排序集时,是否保留了set中的顺序?

时间:2014-04-14 09:34:17

标签: java redis jedis

我使用Java Redis客户端“Jedis”。

例如,当使用zrange获取有序集时,客户端指定它返回一个Set,根据定义它没有任何保证。

这个old question提到了这个问题,但我没有找到它是否已经解决的问题。

我可以这样做并知道订单会被保留吗?

Set<String> results = jedisCli.zrange(key, start, end);
MyObject[] requestedOrderedObjects = new MyObject[results.size];
int i = 0;
foreach(String result: results) {
    requestedOrderedObjects[i++] = MyObject.loadFromString(result);
}
return requestedOrderedObjects;

感谢您的帮助。

1 个答案:

答案 0 :(得分:4)

保留订单,检查Set jedis返回的类型:它确实是一个SortedSet并且是有序的。你是对的:API没有给你它的订单提示,但你不应该害怕:它工作正常,或者我的所有应用程序都会有令人难以置信的错误。