Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 15771|Répondre: 0

[Redis] 5 choses à savoir avant d’utiliser Redis

[Copié le lien]
Publié sur 29/12/2015 12:22:28 | | |
Développer des applications avec Redis est un processus agréable, mais comme toute technologie, il y a quelques éléments à garder à l’esprit lors de la conception d’applications basées sur Redis. Vous connaissiez peut-être déjà toute la routine du développement de bases de données relationnelles, et le développement d’applications basé sur Redis présente de nombreuses similitudes, mais il faut garder à l’esprit les deux points suivants : Redis est une base de données en mémoire et elle est monothread. Par conséquent, lorsque vous utilisez Redis, vous devez prêter attention aux points suivants :
1. Contrôler toutes les clés stockées dans Redis
La fonction principale d’une base de données est de stocker des données, mais il est courant que les développeurs ignorent certaines données stockées dans la base de données en raison de changements dans les exigences des applications ou des méthodes d’utilisation des données, et il en va de même pour Redis. Vous pouvez négliger certaines clés qui expirent, ou oublier les données parce qu’un module de votre application est obsolète.
Dans tous les cas, Redis stocke certaines données qui ne sont plus utilisées, prenant de la place sans raison. Le schéma de données faiblement structuré de Redis rend difficile de savoir ce qui est stocké centralement, à moins d’utiliser une nomenclature très mature pour les clés. Utiliser la bonne méthode de nommage simplifiera la gestion de votre base de données, et lorsque vous créez un espace de noms pour les clés via votre application ou service (généralement en utilisant les deux-points pour diviser les noms de clés), vous pouvez facilement identifier les données lors de leur migration, conversion ou suppression.
Un autre cas d’usage courant de Redis est comme second stockage de données pour des éléments de données chaudes, où la plupart des données sont stockées dans d’autres bases de données, telles que PostgreSQL ou MongoDB. Dans ces cas d’utilisation, les développeurs oublient souvent de supprimer les données correspondantes dans Redis lorsque les données sont retirées du stockage principal. Dans ce cas, la suppression en cascade est généralement requise, auquel cas elle peut être réalisée en enregistrant tous les identifiants pour un élément de données spécifique dans la configuration Redis, afin de s’assurer qu’après la suppression des données dans la base de données principale, un nettoyeur soit appelé pour supprimer toutes les copies et informations pertinentes.
2. Contrôler la longueur de tous les noms clés
Comme nous l’avons dit plus haut, nous avons utilisé des conventions de nommage appropriées et ajouté des préfixes pour identifier la direction des données, donc cela semble aller à l’encontre de cela. Cependant, n’oubliez pas que Redis est une base de données en mémoire, et plus les clés sont courtes, moins vous avez besoin d’espace. Naturellement, lorsqu’il y a des millions ou des milliards de clés dans une base de données, la longueur du nom de la clé aura un impact important.
Par exemple, sur un serveur Redis 32 bits, si vous stockez un million de clés d’une longueur de 32 caractères, cela consommera environ 96 Mo d’espace avec un nom de clé de 6 caractères, mais si vous utilisez un nom de clé de 12 caractères, la consommation d’espace augmentera à environ 111 Mo. Avec plus de clés, les 15 % supplémentaires de frais généraux auront un impact significatif.
3. Utiliser la bonne structure de données
Qu’il s’agisse d’utilisation de mémoire ou de performance, parfois les structures de données peuvent avoir un impact important, voici quelques bonnes pratiques auxquelles se référer :
Au lieu de stocker les données sous forme de milliers (ou millions) de chaînes séparées, envisagez d’utiliser des structures de données hachées pour regrouper les données associées. Les tables de hachage sont très efficaces et peuvent réduire votre consommation de mémoire ; En même temps, le hachage est également plus bénéfique pour l’abstraction des détails et la lisibilité du code.
Lorsque c’est approprié, utilisez liste au lieu de définir. Si vous n’avez pas besoin d’utiliser la fonction set, List peut offrir des vitesses plus rapides que Set tout en utilisant moins de mémoire.
Les ensembles triés sont les structures de données les plus coûteuses, tant en termes de consommation mémoire que de complexité des opérations de base. Si vous avez juste besoin d’un moyen d’interroger des enregistrements et que vous ne vous souciez pas de trier ces propriétés, il est fortement recommandé d’utiliser des tables de hachage.
Une fonctionnalité souvent négligée dans Redis est la diffusion de bitmaps ou de binarès (après la version 2.2). Les ensembles de bits permettent d’effectuer plusieurs opérations au niveau du bit sur les valeurs Ridis, comme une analyse légère.
4. Ne pas utiliser la clé lors de l’utilisation de SCAN
Depuis Redis v2.8, la commande SCAN est déjà disponible, ce qui permet de récupérer des clés depuis l’espace de clés à l’aide du curseur. Comparé à la commande KEYS, bien que SCAN ne puisse pas renvoyer tous les résultats correspondants en même temps, il évite le risque élevé de bloquer le système, ce qui permet d’exécuter certaines opérations sur le nœud maître.
Il est important de noter que la commande SCAN est un itérateur basé sur le curseur. Chaque fois que la commande SCAN est appelée, un nouveau curseur sera retourné à l’utilisateur, et celui-ci devra utiliser ce nouveau curseur comme paramètre de curseur de la commande SCAN dans la prochaine itération, afin de poursuivre le processus d’itération précédent. Parallèlement, avec SCAN, les utilisateurs peuvent aussi ajuster les commandes via le mode de la clé et les options de comptage.
Les commandes liées au SCAN incluent également les commandes SSSCAN, HSCAN et ZSCAN, utilisées respectivement pour les collections, les clés de hachage et les suites.
5. Utiliser des scripts Lua côté serveur
Dans le processus d’utilisation de Redis, le support des scripts Lua offre sans aucun doute aux développeurs un environnement de développement très convivial, libérant ainsi grandement la créativité des utilisateurs. Lorsqu’ils sont utilisés correctement, les scripts Lua peuvent apporter des améliorations significatives en termes de performances et de consommation de ressources. Au lieu de transmettre les données au CPU, les scripts permettent d’exécuter la logique la plus proche possible des données, réduisant la latence réseau et les transferts redondants de données.
Dans Redis, un cas d’usage très classique pour Lua est le filtrage ou l’agrégation des données dans une application. En encapsulant le flux de travail de traitement dans un script, vous pouvez simplement l’appeler pour obtenir une réponse plus courte en utilisant peu de ressources en moins de temps.
Astuce d’expert :Lua est excellent, mais il a aussi quelques problèmes, comme des difficultés à signaler et gérer les bugs. Une approche intelligente consiste à utiliser la fonction Pub/Sub de Redis et à laisser le script envoyer les messages journals via un canal dédié. Ensuite, créez un processus d’abonné et traitez-le en conséquence.





Précédent:Redis. Composant open source .NET Beetle.Redis
Prochain:Install-Package : Le paquet Microsoft.Bcl 1.1.10 nécessite la version client NuGet 2.8.1 ou supérieure...
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com