Redis
 sql >> Base de données >  >> NoSQL >> Redis

Hachage Redis vitesse d'écriture très lente

Vous devez réfléchir un peu plus à ce que vous évaluez vraiment en utilisant ce programme. Je peux vous dire que ce n'est pas Redis, mais plutôt la capacité de votre système à exécuter un jeu de ping-pong entre deux processus (car tous vos appels hsetnx sont synchrones).

Veuillez lire cette page avant d'essayer de comparer Redis, cela vous aidera certainement.

Votre hypothèse selon laquelle la vitesse de Redis devrait approcher la vitesse d'écriture de la RAM est quelque peu naïve. Redis est une télécommande magasin, et pour les opérations O(1), la plupart des frais généraux sont dus aux coûts de communication. Pour le trafic synchrone (comme votre exemple), cela est également dû au coût du planificateur du système d'exploitation.

Si vous souhaitez appliquer de nombreuses commandes en séquence, vous devez utiliser le pipelining. Ou si vous ne vous souciez pas de la séquence, vous pouvez travailler simultanément avec plusieurs connexions (c'est le mode par défaut pour redis-benchmark). Ou vous pouvez essayer d'envoyer des commandes asynchrones à la place. Dans tous les cas, l'idée est d'amortir le coût des allers-retours vers le serveur Redis

Avec le pipelining sur plusieurs connexions avec un trafic asynchrone, vous obtiendrez le débit maximal que Redis peut atteindre sur cette machine.