Comment puis-je préserver l'ordre des valeurs récupérées avec la fonction get_multi() de memcache? Par défaut, la commande retournée est aléatoire. Merci.memcache Python conserver l'ordre dans get_multi()
Répondre
que je me souvienne memcache a drapeau GET PRÉSERVER ORDER, essayez d'ajouter ceci pour fonctionner des drapeaux
J'ai trouvé cette fonction dans php mais pas dans les bibliothèques python – ensnare
bibliothèque Memcache Python retourne un dictionnaire et des dictionnaires en python ne sont pas ordonnés, de sorte que vous devez obtenir les valeurs du dictionnaire dans la bon ordre manuellement:
result = cache.get_multi(keys)
values = [result.get(key) for key in keys]
Il y a une erreur de syntaxe dans la deuxième ligne, le côté droit de l'assignation doit soit commencer par un crochet, soit se terminer par un crochet. – dnet
l'a réparé, merci –
Rappelez-vous que les requêtes memcache peuvent toucher de nombreux serveurs memcache, donc il n'y a aucun moyen d'obtenir les résultats dans un ordre particulier en général. Toute conservation des commandes sera faite par le client - ne pas conserver la commande, mais la restaurer. –