Assurer la cohérence des doubles écritures entre MySQL et Redis
1. Scénario :
La cohérence en double écriture signifie que lorsque nous mettons à jour les données dans la base de données, les données dans Redis doivent également être mises à jour de manière synchrone. Le processus de lecture des données à l'aide de redis Lorsque l'utilisateur accède aux données, les données seront d'abord lues à partir du cache. Si le cache est atteint, les données dans le cache seront directement renvoyées à l'utilisateur. le cache, la base de données sera d'abord interrogée et enregistrera les données interrogées dans le cache, puis les renverra à l'utilisateur.
2. Stratégie pour assurer la cohérence de la double écriture
1 Mettez d'abord à jour le cache, puis mettez à jour la base de données
2 Mettez d'abord à jour la base de données, puis mettez à jour le cache
3. mettre à jour la base de données
4, Mettez d'abord à jour la base de données, puis supprimez le cache
Troisièmement, les avantages et les inconvénients des quatre stratégies
1. Mettez d'abord à jour le cache, puis mettez à jour la base de données
Le problème est évident. Si la mise à jour du cache réussit mais que la mise à jour de la base de données échoue, le cache sera endommagé. Données sales
2 Mettez d'abord à jour la base de données, puis mettez à jour le cache
Si la concurrence est élevée, la situation suivante peut exister. Le thread A a mis à jour la base de données. Si le thread A n'a pas mis à jour la base de données pour des raisons de réseau ou pour d'autres raisons, il est encore temps de mettre à jour le cache. À ce stade, un processus B met à jour la base de données et met à jour le cache. processus A met à jour le cache. À ce moment-là, la mise à jour du cache par le thread B sera perdue, comme dans une situation de perte de transaction
3 Supprimez d'abord le cache, puis mettez à jour la base de données
Cette stratégie a peut-être évité la perte de cache. dans la stratégie 2, mais quel que soit le niveau de concurrence, il y aura des incohérences. Par exemple, le thread A effectue une opération d'écriture. Tout d'abord, supprimez le cache et préparez-vous à mettre à jour la base de données. et n'atteint pas le cache. Ensuite, il interroge la base de données. À ce moment-là, il lit l'ancienne valeur et enregistre l'ancienne valeur interrogée dans le cache. Puis le thread A Une fois la mise à jour de la base de données terminée, la base de données et le cache sont à nouveau incohérents. Solution : Il suffit de re-threader A. Après avoir terminé la mise à jour de la base de données, supprimez à nouveau le cache avec un léger retard, également appelé double suppression retardée. Le temps de retard doit ici être supérieur au temps d'une opération de lecture de l'entreprise.
4. Mettez d'abord à jour la base de données, puis supprimez le cache
Peu importe le niveau de concurrence, il y aura des incohérences. Par exemple, le thread A lit des données et lorsqu'il se prépare à écrire dans le cache, le thread B met à jour La base de données est accédée, puis le cache est supprimé. À ce moment, le thread A écrit l'ancienne valeur dans le cache, bien que la probabilité que cela se produise soit relativement faible, car l'opération d'écriture prend plus de temps qu'une opération de lecture. Solution : Double suppression retardée La double suppression retardée est toujours un problème. Que dois-je faire si la suppression du cache échoue. Bien sûr, supprimez-le à nouveau et continuez la suppression en boucle ? Après l'échec de la suppression, nous pouvons mettre la clé à supprimer dans la file d'attente, puis essayer de la supprimer à plusieurs reprises jusqu'à ce que la suppression réussisse.
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Le mode Redis Cluster déploie les instances Redis sur plusieurs serveurs grâce à la rupture, à l'amélioration de l'évolutivité et de la disponibilité. Les étapes de construction sont les suivantes: Créez des instances de redis étranges avec différents ports; Créer 3 instances Sentinel, Moniteur Redis Instances et basculement; Configurer les fichiers de configuration Sentinel, ajouter des informations d'instance Redis de surveillance et des paramètres de basculement; Configurer les fichiers de configuration d'instance Redis, activer le mode de cluster et spécifier le chemin du fichier d'informations de cluster; Créer un fichier nœuds.conf, contenant des informations de chaque instance redis; Démarrez le cluster, exécutez la commande CREATE pour créer un cluster et spécifiez le nombre de répliques; Connectez-vous au cluster pour exécuter la commande d'informations de cluster pour vérifier l'état du cluster; faire

Vous pouvez ouvrir PHPMYADMIN via les étapes suivantes: 1. Connectez-vous au panneau de configuration du site Web; 2. Trouvez et cliquez sur l'icône PHPMYADMIN; 3. Entrez les informations d'identification MySQL; 4. Cliquez sur "Connexion".

Comment effacer les données Redis: utilisez la commande flushall pour effacer toutes les valeurs de clé. Utilisez la commande flushdb pour effacer la valeur clé de la base de données actuellement sélectionnée. Utilisez SELECT pour commuter les bases de données, puis utilisez FlushDB pour effacer plusieurs bases de données. Utilisez la commande del pour supprimer une clé spécifique. Utilisez l'outil Redis-CLI pour effacer les données.

Pour lire une file d'attente à partir de Redis, vous devez obtenir le nom de la file d'attente, lire les éléments à l'aide de la commande LPOP et traiter la file d'attente vide. Les étapes spécifiques sont les suivantes: Obtenez le nom de la file d'attente: Nommez-le avec le préfixe de "Fitre:" tel que "Fitre: My-Quyue". Utilisez la commande LPOP: éjectez l'élément de la tête de la file d'attente et renvoyez sa valeur, telle que la file d'attente LPOP: My-Queue. Traitement des files d'attente vides: si la file d'attente est vide, LPOP renvoie NIL et vous pouvez vérifier si la file d'attente existe avant de lire l'élément.

Comment se connecter à MySQL à l'aide de PhpMyAdmin? L'URL pour accéder à phpmyadmin est généralement http: // localhost / phpmyadmin ou http: // [votre adresse IP de serveur] / phpmyadmin. Entrez votre nom d'utilisateur et votre mot de passe MySQL. Sélectionnez la base de données à laquelle vous souhaitez vous connecter. Cliquez sur le bouton "Connexion" pour établir une connexion.

MySQL est choisi pour ses performances, sa fiabilité, sa facilité d'utilisation et son soutien communautaire. 1.MySQL fournit des fonctions de stockage et de récupération de données efficaces, prenant en charge plusieurs types de données et opérations de requête avancées. 2. Adoptez l'architecture client-serveur et plusieurs moteurs de stockage pour prendre en charge l'optimisation des transactions et des requêtes. 3. Facile à utiliser, prend en charge une variété de systèmes d'exploitation et de langages de programmation. 4. Avoir un solide soutien communautaire et fournir des ressources et des solutions riches.

Utilisez l'outil de ligne de commande redis (Redis-CLI) pour gérer et utiliser Redis via les étapes suivantes: Connectez-vous au serveur, spécifiez l'adresse et le port. Envoyez des commandes au serveur à l'aide du nom et des paramètres de commande. Utilisez la commande d'aide pour afficher les informations d'aide pour une commande spécifique. Utilisez la commande QUIT pour quitter l'outil de ligne de commande.

Redis Counter est un mécanisme qui utilise le stockage de la paire de valeurs de clés Redis pour implémenter les opérations de comptage, y compris les étapes suivantes: création de clés de comptoir, augmentation du nombre, diminution du nombre, réinitialisation du nombre et objet de comptes. Les avantages des compteurs Redis comprennent une vitesse rapide, une concurrence élevée, une durabilité et une simplicité et une facilité d'utilisation. Il peut être utilisé dans des scénarios tels que le comptage d'accès aux utilisateurs, le suivi des métriques en temps réel, les scores de jeu et les classements et le comptage de traitement des commandes.
