1. L'origine de 16 bases de données
Redis est un serveur de stockage structuré par dictionnaire. 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 à la façon dont plusieurs bases de données peuvent être créées dans une instance de base de données relationnelle (comme le montre la figure ci-dessous), de sorte que chaque dictionnaire peut être compris comme une base de données indépendante.
Prenons l'exemple de l'instance MySQL
Redis prend en charge 16 bases de données par défaut. Vous pouvez modifier cette valeur en ajustant les bases de données dans le fichier de configuration Redis redis/redis.conf. Une fois les paramètres terminés, redémarrez Redis pour terminer. la configuration.
Une fois que le client aura établi une connexion avec Redis, il sélectionnera la base de données n°0 par défaut, mais vous pouvez utiliser la commande SELECT pour modifier la base de données à tout moment.
Dans les projets réels, vous pouvez spécifier la base de données sous la forme d'un fichier de configuration Redis, comme le montre la figure ci-dessous
2. Bien comprendre le concept de « base de données » de Redis
Étant donné que Redis ne prend pas en charge les noms de bases de données personnalisés, chaque base de données est nommée avec un numéro. Les développeurs doivent enregistrer la correspondance entre les données stockées et la base de 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 toutes les bases de données n'ont aucune autorisation d'accès. Cependant, pour bien comprendre le concept « base de données » de Redis, nous devons mentionner une commande :
Cette commande peut effacer toutes les données de la base de données sous l'instance, ce qui est différent de la base de données relationnelle que nous connaissons. Plusieurs bibliothèques de bases de données relationnelles sont souvent utilisées pour stocker des données pour différentes applications, et il n'existe aucun moyen d'effacer simultanément toutes les données de bibliothèque d'une instance. Ainsi, pour Redis, ces bases de données ressemblent davantage à des espaces de noms et ne conviennent pas 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. 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.
3. Une instance prend-elle en charge plusieurs bases de données dans un cluster ?
Veuillez noter que les éléments ci-dessus sont tous basés sur un seul Redis. Dans le cas d'un cluster, l'utilisation de la commande select pour changer de base de données n'est pas prise en charge car il n'y a qu'un seul db0 en mode cluster Redis. Pour développer les différences entre les clusters et les Reid autonomes, les amis intéressés peuvent consulter les informations pertinentes pour une compréhension plus approfondie, mais nous n'en discuterons pas ici.
Les opérations par lots de clés ont une prise en charge limitée : par exemple, mget et mset doivent être dans un seul emplacement
Les transactions clés et Lua ont une prise en charge limitée : la clé de l'opération doit être dans un seul nœud
la clé est la granularité minimale de la partition de données : non prise en charge La partition Bigkey
ne prend pas en charge plusieurs bases de données : il n'y a qu'un seul db0 en mode cluster
La réplication ne prend en charge qu'un seul niveau : la structure de réplication arborescente n'est pas prise en charge
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!