Remarque : Redis prend en charge plusieurs bases de données, et les données de chaque base de données sont isolées et ne peuvent pas être partagées, et sont uniquement basées sur une seule machine. S'il s'agit d'un cluster, il n'y en a pas. concept de base de données.
La raison pour laquelle Redis est divisé en autant de bases de données est de distinguer les entreprises. Différentes entreprises sont stockées dans différentes bibliothèques, mais un Redis est généralement utilisé pour un projet. Différentes entreprises au sein du projet sont séparées. Utilisez une bibliothèque pour éviter tout croisement de données.
Redis est un serveur de stockage structuré par dictionnaire. En fait, une instance Redis fournit plusieurs dictionnaires pour stocker les données. Le client peut spécifier dans quel dictionnaire stocker les données. Ceci est similaire au fait bien connu selon lequel plusieurs bases de données peuvent être créées dans une instance de base de données relationnelle, de sorte que chaque dictionnaire peut être compris comme une base de données indépendante.
Chaque base de données est nommée en externe avec un nombre croissant à partir de 0. Redis prend en charge 16 bases de données par défaut (d'autres peuvent être prises en charge via des fichiers de configuration, sans limite supérieure) , qui peuvent être configurées par bases de données pour modifier ce numéro. Une fois que le client aura établi une connexion avec Redis, il sélectionnera automatiquement la base de données n° 0, mais vous pouvez utiliser la commande SELECT pour changer de base de données à tout moment. Si vous souhaitez sélectionner la base de données n° 1 :
redis> SELECT 1 OK redis [1] > GET foo (nil)
. Cependant, ces bases de données nommées avec des numéros sont différentes des nôtres. La compréhension de la base de données est différente.
Tout d'abord, Redis ne prend pas en charge les noms de bases de données personnalisés. Chaque base de données porte le nom d'un numéro. Les développeurs doivent enregistrer quelles bases de données stockent quelles données.
De plus, Redis ne prend pas en charge la définition de mots de passe d'accès différents pour chaque base de données, de sorte qu'un client peut soit accéder à toutes les bases de données, soit n'a pas l'autorisation d'accéder à une seule base de données.
Le point le plus important est que plusieurs bases de données ne sont pas complètement isolées. Par exemple, la commande FLUSHALL peut effacer les données de toutes les bases de données dans une instance Redis.
Pour résumer, ces bases de données ressemblent davantage à des espaces de noms et ne sont pas adaptées au stockage de données provenant de différentes applications. Par exemple, vous pouvez utiliser la base de données n° 0 pour stocker des données dans l'environnement de production d'une application et utiliser la base de données n° 1 pour stocker les données dans l'environnement de test. Cependant, il n'est pas approprié d'utiliser la base de données n° 0 pour stocker les données. données de l'application A et utilisez la base de données n° 1 pour stocker les données de l'application B. Les applications doivent utiliser différentes instances Redis pour stocker les données.
Étant donné que Redis est très léger, une instance Redis vide ne prend qu'environ 1 Mo, vous n'avez donc pas à vous soucier du fait que plusieurs instances Redis occupent beaucoup de mémoire supplémentaire.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!