La commande est-elle préservée dans définie lors de la récupération des ensembles triés à l'aide de Jedis?

StackOverflow https://stackoverflow.com//questions/23056655

  •  23-12-2019
  •  | 
  •  

Question

J'utilise le client Java Redis "Jedis".

Lorsque vous obtenez un ensemble trié à l'aide de Zrange par exemple, le client spécifie qu'il renvoie un ensemble qui, par définition, n'a aucune garantie d'orifice.

Ce Une ancienne question mentionne le problème mais je n'ai trouvé aucune référence àsi elle est résolue.

Puis-je faire cela et savoir que l'ordre sera préservé?

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;

Merci pour toute aide.

Était-ce utile?

La solution

La commande est conservée, vérifiez que le type de jeu de jédis retourne: C'est en effet un tri et il est commandé.Vous avez raison: l'API ne vous donne pas l'indice que cela est commandé, mais vous ne devriez pas avoir peur: cela fonctionne bien, ou toutes mes applications auraient des bugs incroyables.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top