1. Qu'est-ce que le cache
1. Le cache est un sous-système de mémoire spécial de la mémoire cache, dans lequel les données fréquemment utilisées sont copiées pour faciliter un accès rapide
2. La structure entre matériel/logiciel utilisée pour coordonner la différence de vitesse de transmission des données entre les deux peut être appelée Cache
2. Classification du cache
1. Schéma d'architecture du système basé sur les applications Web
2. Afin d'accélérer l'accès, des caches peuvent exister entre différents niveaux de l'architecture système
1. Cache disque fourni par le système de fichiers : le système d'exploitation mettra le contenu des fichiers fréquemment consultés dans la mémoire et sera géré par le système de fichiers
2. un fichier disque via le système de fichiers, le système d'exploitation lit le contenu du fichier à partir du cache disque, accélérant la vitesse de lecture du fichier
3. Le cache disque est automatiquement géré par le système d'exploitation et n'est généralement pas utilisé. Une intervention manuelle est requise. , mais une mémoire physique suffisante doit être assurée pour que le système d'exploitation puisse utiliser autant de mémoire que possible que le cache disque pour accélérer la lecture des fichiers
4. Les applications spéciales ont des exigences élevées pour le cache disque du système de fichiers, qui contournera le fichier Cache disque du système, accédez directement à la partition du disque et implémentez le disque vous-même
5. Stratégie de cache
Périphérique brut d'Oracle (appareil nu) – abandonnez directement le système de fichiers -
InnoDB de MySQL : innodb_flush_method = O_DIRECT 4. Cache de la base de données
1. la base de données est généralement la partie centrale du système d'application d'entreprise
La quantité de données stockées dans la base de données est généralement très importante Opérations de requête de base de données sont généralement très fréquents. Parfois, c'est très compliqué Les raisons ci-dessus font que les requêtes de base de données provoquent des opérations de lecture d'E/S disque très fréquentes, forçant le processeur à se bloquer et à attendre, ainsi que la base de données. les performances sont extrêmement faibles
2. Stratégie de cache- a. Query Cache
Cache l'ensemble de résultats de la requête en utilisant SQL comme valeur clé
Une fois les enregistrements de table impliqués dans la requête modifiés, le cache sera automatiquement supprimé La définition d'un cache de requête approprié améliorera considérablement la base de données performances Plus le cache de requêtes est grand, mieux c'est. Un cache Qquery trop volumineux gaspillera de la mémoire. MySQL : query_cache_size= 128M b. Le tampon de données est des données de base de données. Conteneurs en mémoire Le taux de réussite du tampon de données détermine directement les performances de la base de données
Plus le tampon de données est grand, mieux c'est, plus il y en a, mieux c'est-
Tampon InnoDB de MySQL : innodb_buffer_pool_size = 2G MySQL recommande d'ouvrir le pool de tampons à 60-80 % de la capacité physique du serveur mémoire 5. Cache d'application- 1. Cache d'objets
- Fourni par un framework de mappage O/R tel que Hibernate, accès transparent, la mise en cache fine des résultats des requêtes de base de données , sans programmation explicite du code métier, est la stratégie de mise en cache la plus simple
Lorsque la structure du logiciel est spécifiquement conçue conformément aux exigences du Le cadre de cartographie O/R, l'utilisation de la mise en cache d'objets réduira considérablement la demande d'accès du système Web à la base de données
Une structure de base de données bien conçue et l'utilisation du cache d'objets peuvent fournir des performances extrêmement élevées. Le cache d'objets convient aux applications OLTP (traitement de transactions en ligne) 2. Le cache de requêtes met en cache l'ensemble de résultats de requête de base de données, similaire à le cache de requêtes de base de données est applicable. Il convient à certains scénarios qui prennent du temps mais ont de faibles exigences de rapidité. La mise en cache des requêtes et la mise en cache des objets sont applicables à différents scénarios et sont complémentaires les unes des autres
Lorsque les enregistrements de table impliqués dans l'ensemble de résultats de la requête sont modifiés, vous devez faire attention à vider le cache
3. Mise en cache des pages- a. Fonction
- La technologie de cache pour les pages peut non seulement réduire la pression sur le serveur de base de données, mais aussi. réduisez également la pression sur le serveur d'applications
Une bonne mise en cache des pages peut grandement améliorer la vitesse de rendu des pages