Maison > base de données > Redis > le corps du texte

Comment implémenter la mise en cache dans Redis

(*-*)浩
Libérer: 2019-11-20 13:08:56
original
7143 Les gens l'ont consulté

Comment implémenter la mise en cache dans Redis

Redis implémente la mise en cache d'environ deux manières :

1. Synchronisation des scripts :

1. . Écrivez votre propre script pour écrire les données de la base de données dans redis/memcached. (Apprentissage recommandé : Tutoriel vidéo Redis)

2. Cela implique la question des modifications de données en temps réel (analyse en temps réel du binlog de ligne mysql), de l'abonnement incrémentiel de binlog au canal d'Alibaba, et mise en cache Problème de récupération de synchronisation des données après perte/invalidité des données de couche.

2. Implémentation de la couche métier :

1. Lisez d'abord la couche de cache nosql, puis lisez la couche mysql s'il n'y a pas de données et écrivez les données dans nosql. .

2. La couche nosql est prête pour la distribution multi-nœuds (hachage cohérent), ainsi que pour les alternatives après une défaillance du nœud (hachage multicouche pour trouver des nœuds de remplacement adjacents), et le choc des données a été restauré.

Analyse de l'implémentation redis de la mise en cache de la base de données :

Pour les données qui changent très rapidement, si vous choisissez toujours les méthodes de mise en cache statique traditionnelles (Memocached, File System, etc.) L'affichage des données peut impliquer une surcharge importante en matière d'accès au cache, ce qui ne peut pas répondre correctement aux besoins. Les bases de données NoSQL basées sur la mémoire comme Redis sont très adaptées pour servir de conteneurs pour les données en temps réel.

Cependant, il existe souvent des exigences en matière de fiabilité des données. L'utilisation de MySQL comme stockage de données n'entraînera pas de perte de données en raison de problèmes de mémoire. En même temps, vous pouvez également utiliser les caractéristiques des bases de données relationnelles pour implémenter de nombreuses fonctions. Il est donc naturel de se demander si MySQL peut être utilisé comme moteur de stockage de données et Redis comme cache.

Le schéma de réplication de données MySQL vers Redis, MySQL et Redis, ont leur propre mécanisme de synchronisation des données. Le mode MySQL maître/esclave le plus couramment utilisé est implémenté par le côté esclave analysant le journal binaire du maître, la réplication des données est donc en fait. un processus asynchrone, mais lorsque les serveurs sont tous sur le même intranet, le délai asynchrone est presque négligeable.

Théoriquement, la même méthode peut être utilisée pour analyser le fichier binlog MySQL et insérer les données dans Redis.

Par conséquent, une méthode de développement moins coûteuse est choisie ici, en empruntant l'UDF MySQL déjà relativement mature, en plaçant d'abord les données MySQL dans Gearman, puis en synchronisant les données avec Gearman via un PHP Gearman Worker auto-écrit. . Par rapport à la méthode d'analyse du binlog, elle ajoute de nombreux processus, mais le coût de mise en œuvre est inférieur et elle est plus facile à utiliser.

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal