Maison > Questions et réponses > le corps du texte
数据库是 MySQL,Redis 主要用来读缓存,现需要检测数据和缓存之间的一致性,确保从缓存读取的数据是最新的。该怎么确保这一点呢?
怪我咯2017-04-22 08:58:29
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é. 🎜>
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.
怪我咯2017-04-22 08:58:29
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.
伊谢尔伦2017-04-22 08:58:29
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.