Redis 缓存和数据库之间的数据校验该怎么做?
怪我咯
怪我咯 2017-04-22 08:56:29
0
3
718

数据库是 MySQL,Redis 主要用来读缓存,现需要检测数据和缓存之间的一致性,确保从缓存读取的数据是最新的。该怎么确保这一点呢?

怪我咯
怪我咯

走同样的路,发现不同的人生

répondre à tous(3)
刘奇

1. Lors de l'instanciation d'un modèle, par exemple lors d'une requête, vous pouvez enregistrer le nombre total d'enregistrements dans la table, l'heure de la dernière modification et d'autres informations dans une méthode du modèle
2. Lors de l'interrogation de données, combinez les conditions de requête et les informations de la table pour calculer une clé de cache et écrivez-la dans le cache
3. Lors de l'obtention du cache, combinez les conditions de requête et les informations de la table pour calculer une clé de cache et interroger le cache. Si les données de la table sont modifiées et que le cache ne peut pas être atteint, le dernier résultat sera obtenu et enregistré en tant que nouvelle clé. 🎜>

Dans le développement réel, le framework MVC est utilisé lors du fonctionnement CUD du modèle, toutes les clés de cache associées au modèle seront automatiquement supprimées pour garantir la cohérence des données.

Cela nécessite des normes relativement élevées pour l'utilisation du framework, et le cache doit être enregistré conformément aux spécifications de mise en cache du modèle.

Une application typique à l'heure actuelle est de savoir comment mettre à jour les données mises en cache de la liste après CRUD.

刘奇

Vérifiez le cache, sinon, videz les données de la base de données vers le cache.
S'il y a une mise à jour des données, si la cohérence des données n'est pas très élevée, donnez simplement un ttl aux données dans le cache ; si la cohérence des données est très élevée, videz le cache lors de la mise à jour des données.

伊谢尔伦

Vous pouvez ajouter un champ à chaque clé pour représenter les informations de version. Mettez à jour le numéro de version des données mises à jour. Utilisez clé + numéro de version lors de l'interrogation de Redis.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal