1. Introduction à la base de données Redis
La base de données Redis est une base de données non relationnelle de valeurs-clés basée sur la persistance de la mémoire. Afin de garantir l'efficacité, les données Redis sont mises en cache en mémoire. La différence est que Redis écrira périodiquement les données mises à jour sur le disque ou écrira les opérations de modification dans des fichiers d'enregistrement supplémentaires, et sur cette base, la synchronisation maître-esclave (maître-esclave).
Redis prend en charge la synchronisation maître-esclave. Les données peuvent être synchronisées du serveur maître vers n'importe quel nombre de serveurs esclaves, et le serveur esclave peut être un serveur maître associé à d'autres serveurs esclaves. Cela permet à Redis d'effectuer une réplication d'arborescence à un seul niveau. La sauvegarde peut écrire des données intentionnellement ou non. Étant donné que le mécanisme de publication/abonnement est entièrement implémenté, lorsque la base de données esclave synchronise l'arborescence n'importe où, elle peut s'abonner à un canal et recevoir l'enregistrement complet de publication des messages du serveur maître. La synchronisation est utile pour l'évolutivité et la redondance des données des opérations de lecture.
Redis est une base de données basée sur la gestion de la mémoire, la surcharge mémoire doit donc être davantage optimisée :
① Le premier et le plus important point est de ne pas activer l'option VM de Redis, cela. c'est-à-dire la fonction de mémoire virtuelle. Il s'agit à l'origine d'une stratégie de persistance qui échange les données dans et hors de la mémoire et du disque car Redis stocke les données au-delà de la mémoire physique. Cependant, son coût de gestion de la mémoire est également très élevé, et nous l'analyserons plus tard. cette stratégie de persistance n'est pas mature. Donc, pour désactiver la fonction VM, veuillez vérifier que vm-enabled dans votre fichier redis.conf est non.
②. Deuxièmement, il est préférable de définir l'option maxmemory dans redis.conf. Cette option indique à Redis de commencer à rejeter les demandes d'écriture suivantes une fois que la quantité de mémoire physique est utilisée. ne provoquera pas d'échange en raison d'une utilisation excessive de la mémoire physique, ce qui finira par affecter sérieusement les performances, voire même un crash.
③. Si la plupart des données stockées dans Redis sont numériques, Redis utilise un entier partagé en interne pour économiser la surcharge d'allocation de mémoire, c'est-à-dire que lorsque le système démarre, il alloue d'abord une valeur de 1 à n. Ensuite, plusieurs objets numériques sont placés dans un pool. Si les données stockées se trouvent dans cette plage numérique, l'objet est directement extrait du pool et partagé via un comptage de références, stockant ainsi un grand nombre de valeurs numériques dans le système. Il peut également économiser de la mémoire et améliorer les performances dans une certaine mesure
2. Emplacement de stockage des données Redis
Nous savons que Redis stocke les données en fonction de la mémoire, les données sont donc perdu Les données seront perdues après une panne de courant. Nous pouvons également générer des fichiers journaux pertinents via la configuration et sauvegarder les données sur le disque. De cette façon, vous pouvez vous assurer que les données sont toujours disponibles lorsque vous allumerez l'ordinateur la prochaine fois.
3. Les types de données courants de la base de données Redis ont des opérations associées
Opérations courantes pour définir le délai d'expiration :
EXPIRE Définissez le temps de survie de la clé sur ttl. secondes
PEXPIRE Définit le temps de génération de la clé sur ttl millisecondes
EXPIREAT Définit l'heure d'expiration de la clé sur l'horodatage en secondes représenté par l'horodatage
PEXPIREAT Définit l'heure d'expiration de la clé L'expiration l'heure est définie sur l'horodatage en millisecondes représenté par timestamp
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!