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

redis - Utilisation de hachages

Oui, c'est lié à l'efficacité.

Nous avons demandé l'aide de Pieter Noordhuis, l'un des principaux développeurs de Redis, et il nous a suggéré d'utiliser les hachages Redis. Les hachages dans Redis sont des dictionnaires qui peuvent être encodés en mémoire de manière très efficace ; le paramètre Redis 'hash-zipmap-max-entries' configure le nombre maximum d'entrées qu'un hachage peut avoir tout en étant encodé efficacement. Nous avons trouvé que ce paramètre était le meilleur autour de 1000 ; plus haut et les commandes HSET provoqueraient une activité CPU notable. Pour plus de détails, vous pouvez consulter le fichier source zipmap.

Les petits hachages sont encodés d'une manière spéciale (zipmaps), c'est-à-dire économe en mémoire, mais rend les opérations O(N) au lieu de O(1). Ainsi, avec un zipmap avec 100 000 champs au lieu de 100 zipmaps avec 1 000 champs, vous ne bénéficiez d'aucun avantage en termes de mémoire, mais toutes vos opérations sont 100 fois plus lentes.