Maison > base de données > Redis > Introduction à la cohérence des données Redis

Introduction à la cohérence des données Redis

Libérer: 2020-04-05 09:06:29
avant
2717 Les gens l'ont consulté

La soi-disant cohérence des données Redis signifie qu'après modification, enregistrement ou suppression, les données dans Redis doivent également changer en conséquence, sinon, lorsque l'utilisateur interroge à nouveau, il est susceptible de trouver des données sales qui ont été supprimées.

Introduction à la cohérence des données Redis

1. La nécessité d'une cohérence du cache

Dans la continuité de l'article précédent, nous avons résolu le problème de pénétration du cache redis (solution simple, peut être optimisée encore une fois), mais lors de l'utilisation de Redis, nous devons également prendre en compte la question de la cohérence du cache. Par exemple : après avoir enregistré un nouvel utilisateur, les données doivent également être insérées dans le cache Redis en même temps, et une certaine partie des données doit l'être. mis à jour dans le cache doit également être mis à jour de manière synchrone, et la méthode par défaut de redis est la suivante : lorsque vous ne la définissez pas, la valeur stockée dans redis est les données que vous avez précédemment stockées. Les données ne seront synchronisées qu'au redémarrage du serveur. Évidemment, ce n’est pas souhaitable. Oui, si tel était le cas, ne faudrait-il pas redémarrer le serveur à tout moment ?

2. Scénarios métier

Je ne parlerai ici que d'un seul scénario. Les autres scénarios sont traités de la même manière. Le scénario est le suivant : Supposons que nous mettions les données utilisateur dans Redis. , il y a Lorsqu'un nouvel utilisateur s'inscrit, une nouvelle donnée sera insérée dans la base de données. En même temps, la donnée doit également être insérée dans redis afin que les dernières données puissent être affichées lors de la prochaine requête.

Voyons d'abord si redis effectuera des opérations de cohérence pour nous sans utiliser aucun traitement par défaut. Il y a maintenant 18 éléments de données utilisateur dans ma base de données de test. À ce stade, après le démarrage du système, nous enregistrons et insérons le premier Après 19 éléments de données, vérifiez s'il y a 19 éléments dans redis.

Introduction à la cohérence des données Redis

Après l'inscription, j'ai maintenant inséré la 19ème donnée dans la base de données

Introduction à la cohérence des données Redis

Ensuite, nous utilisons toujours le article précédentLa méthode de cache de requête mentionnée est utilisée pour obtenir toutes les informations.Regardons directement la dernière, nous pouvons voir que la dernière est Runqing au lieu de Nineteen, donc Redis n'effectue pas d'opérations de cohérence du cache pour nous par défaut.

Introduction à la cohérence des données Redis

3. Implémentation de la cohérence du cache (Option 1)

En fait, il est très simple d'obtenir la cohérence après avoir effectué l'opération d'insertion, nous prenons. extrayez les données et enregistrez-les dans le cache Redis en même temps, de sorte que lorsque nous interrogeons à nouveau le cache, nous puissions également voir les nouvelles données :

Introduction à la cohérence des données Redis

.

Choses à noter Oui : j'appelle directement findAll() de JPA ici. En fait, une meilleure façon est de mettre à jour celui qui vient d'être inséré en fonction de l'identifiant. Voici juste une démonstration de la façon de l'implémenter. , puis enregistrez une nouvelle donnée pour voir si cela fonctionne. Vous pouvez également voir dans le cache : l'identifiant de données nouvellement inséré est 29. Voyons si les nouvelles données existent dans le cache

Introduction à la cohérence des données Redis

Introduction à la cohérence des données Redis

4. Implémentation de la cohérence du cache Redis (Option 2)

Effacez régulièrement les données dans Redis, par exemple, définissez une tâche planifiée, et les données dans Redis seront être effacé toutes les heures, c'est-à-dire laisser redis Les données deviennent invalides, et lorsque vous les enregistrez ou les supprimez à nouveau, les données précédentes dans redis n'existent plus, cela équivaut donc à réinitialiser les données sur redis, donc la cohérence des données peut être garanti.

Pour plus de connaissances sur Redis, veuillez faire attention à la colonne

Tutoriel d'introduction à Redis.

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:csdn.net
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