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

Ensemble Redis vs hachage

Les hachages Redis sont bons pour stocker des données plus complexes, comme vous le suggérez dans votre question. Je les utilise exactement pour cela - pour stocker des objets avec plusieurs attributs qui doivent être mis en cache (en particulier, les données d'inventaire pour un produit particulier sur un site de commerce électronique). Bien sûr, je pourrais utiliser une chaîne concaténée - mais cela ajoute une complexité inutile à mon code client et la mise à jour d'un champ individuel n'est pas possible.

Vous avez peut-être raison - les tutoriels peuvent simplement être antérieurs à l'introduction des hachages. Ils ont clairement été conçus pour stocker des représentations d'objet :http://oldblog.antirez.com/post/redis-weekly-update-1.html

Je suppose qu'une préoccupation serait le nombre de commandes que Redis doit traiter lorsqu'un nouvel élément est inséré (n nombre de commandes, où n est le nombre de champs dans le hachage) par rapport à une simple commande String SET. Je n'ai pas encore trouvé que c'était un problème sur un service qui frappe Redis environ 1 million de fois par jour. Pour moi, l'utilisation de la bonne structure de données est plus importante qu'un impact négligeable sur les performances.

(Veuillez également consulter mon commentaire concernant les ensembles Redis par rapport aux chaînes Redis - je pense que votre question fait référence aux chaînes, mais corrigez-moi si je me trompe !)