Maison > Java > javaDidacticiel > Introduction à la technologie de mise en cache Java

Introduction à la technologie de mise en cache Java

黄舟
Libérer: 2017-02-06 16:14:43
original
1328 Les gens l'ont consulté

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

Introduction à la technologie de mise en cache Java

2. Afin d'accélérer l'accès, des caches peuvent exister entre différents niveaux de l'architecture système

  • Cache disque du système d'exploitation ->

  • Cache de base de données -> Réduire les E/S du système de fichiers

  • Cache d'application -> >

  • Cache du serveur Web -> Réduire les requêtes du serveur d'applications
  • Cache du navigateur client -> Réduire les visites sur le site Web
  • 3. Cache du système d'exploitation
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


    La difficulté avec la mise en cache des pages est de savoir comment nettoyer up caches expirés
  • b. Catégorie
  • I. Statique de page dynamique

    • Utilisez la technologie des modèles pour générer du HTML statique à partir de la page dynamique visitée une fois, et modifiez le lien de la page en même temps. La requête suivante accédera directement à la page de lien statique

    • <.>
    • Page dynamique La technologie statique est largement utilisée dans les applications Web Internet CMS/actualités, mais il existe également des applications BBS qui utilisent cette technologie, comme Discuz !

    • Impossible d'effectuer l'autorisation vérification et ne peut pas afficher d'informations personnalisées

    • Vous pouvez utiliser les requêtes AJAX pour compenser certaines lacunes des pages dynamiques statiques

    II, mise en cache des servlets

    • II, mise en cache des servlets

    • Mettez en cache les résultats de page renvoyés par l'accès URL, adaptés à la mise en cache de pages à gros grain, telles que les communiqués de presse

    • Les autorisations peuvent être vérifiées

    • OScache fournit un cache de servlet simple (via la configuration dans le Web. Mise en cache interne des pages

    Cache le contenu des fragments locaux des pages dynamiques, adapté à certaines pages personnalisées mais pages rarement mises à jour (telles que les blogs)

    • OSCache fournit une mise en cache simple des pages

    • Vous pouvez étendre la balise JSP par vous-même pour implémenter une mise en cache partielle du page

    • 6. Mise en cache côté serveur Web

    Mise en cache côté serveur Web basée sur le mode serveur proxy, tel que squid/nginx

    • La technologie de mise en cache du serveur Web est utilisée pour mettre en œuvre le CDN (réseau de diffusion de contenu réseau de diffusion de contenu)

    • est largement utilisée par les sites Web de portail grand public nationaux

    • Aucune programmation n'est requise, mais elle est limitée aux sites Web de communiqués de presse et aux exigences en temps réel de la page. Pas élevé

    • Navigateur basé sur Ajax. cache

    Lors de l'utilisation d'appels AJAX, mettez en cache la base de données côté navigateur

    • Tant que vous ne quittez pas la page en cours ou n'actualisez pas le page actuelle, vous pouvez lire directement les données mises en cache

    • Applicable uniquement aux pages utilisant la technologie AJAX


    Ce qui précède est l'introduction de la technologie de mise en cache Java. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php .cn) !


É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