


Une brève analyse de la technologie de mise en cache des pages asp.net
J'ai longtemps voulu écrire davantage sur la technologie
Premièrement, c'est pour que je puisse être plus informéRequête, bien sûr, tout le monde sera bientôt mis à jour. Ha
Plus de potins
J'ai juste le temps aujourd'hui de tout reconstituer
PageCache
Utilisez la directive OutputCache
<%@ OutputCache Duration="3600"
Location="Any"
VaryByCustom="browser"
VaryByParam="RequestID" %>
Les attributs Duration et VaryByParam sont obligatoires
Location contrôle l'emplacement du cache des pages
Emplacement
|
Signification | ||||||||||||
Tous td> | La valeur par défaut. Signifie que la sortie de la page peut être mise en cache dans le navigateur client, mise en cache dans n'importe quel client "en aval" (tel qu'un serveur proxy) ou mise en cache dans le serveur Web lui-même | ||||||||||||
Client | Spécifie que le cache de sortie ne peut être stocké que dans le cache local du client demandeur (c'est-à-dire le navigateur) | ||||||||||||
En aval | Spécifie que le cache de sortie peut être stocké sur n'importe quel appareil prenant en charge la mise en cache HTTP1.1 (comme un serveur proxy) | ||||||||||||
Serveur | Spécifie que le cache de sortie sera stocké sur le serveur Web | Aucun | Indique que la mise en cache de sortie est désactivée pour cette page
La durée nous permet de contrôler la durée de vie de la page dans le cache (en secondes)
VaryByParam nous permet de mettre en cache différentes versions de la page. Dans l'exemple ci-dessus, VaryByParam est défini sur RequestID, donc ASP.NET utilise différentes valeurs du paramètre RequestID, qui sont soit transmises dans la requête HTTP GET chaîne , ou Il est passé dans les paramètres de HTTP POST. Vous pouvez permettre à l'application de distinguer les différents utilisateurs en vérifiant la valeur du paramètre RequestID ; en plaçant VaryByParam="RequestID" dans la directive OutputCache de la page, vous pouvez laisser ASP.NET mettre en cache différentes versions de la page pour chaque utilisateur.
Si vous ne souhaitez pas mettre en cache les versions indépendantes de la page en fonction de la valeur du paramètre, définissez simplement VaryByParam sur none.
Vous pouvez également demander à ASP.NET de mettre en cache une version de la page pour chaque combinaison de paramètres tableau possible. Pour ce faire, définissez VaryByParam sur *.
Les attributs VaryByHeader et VaryByCustom sont similaires à VaryByParam dans le sens où ils permettent de spécifier quand une nouvelle version en cache d'une page doit être créée.
VaryByHeader nous permet de mettre en cache les versions non dirigées d'une page sur la base d'une liste d'en-têtes HTTP séparés par des points-virgules.
VaryByCustom, lorsqu'il est défini sur navigateur, nous permet de mettre en cache différentes versions en fonction du nom du navigateur et des informations sur la version majeure. Nous pouvons également lui attribuer le nom d'une méthode personnalisée pour implémenter notre propre logique et contrôler la version mise en cache.
Fragment cache
peut utiliser l'utilisateur control pour segmenter la page et écrire des instructions mises en cache dans le fichier ascx au lieu d'écrire des instructions mises en cache dans le fichier aspx, donc qu'ASP.NET ne peut mettre en cache que la sortie du fragment ascx. Généralement, si l’en-tête ou le pied de page est fondamentalement le même, il n’est pas nécessaire de recharger. Mais s'il y a des données qui changent dynamiquement, elles ne peuvent pas être mises en cache, car une fois mises en cache, le programme n'en créera pas d'instance pour mettre à jourl'affichage des données. Il ne peut donc qu'attendre l'expiration de la durée de vie. pour Cette situation ne convient pas à la mise en cache des fragments de page.
Remarque :
1. Notez que la mise en cache des fragments ne prend pas en charge la fonctionnalité de localisation ; le seul endroit légal pour mettre en cache les fragments de page est le serveur Web. En effet, la mise en cache des fragments est une nouvelle fonctionnalité dans ASP.NET, les navigateurs et les serveurs proxy ne la prennent donc pas en charge.
2. Le cache de fragments a une autre fonctionnalité que l'on ne trouve pas dans le cache de pages - VaryByControl. L'attribut VaryByControl vous permet de spécifier une liste de chaînes délimitées par des points-virgules qui représentent les noms des contrôles utilisés dans un contrôle utilisateur ; ASP.NET générera une version mise en cache du widget utilisateur pour chaque combinaison différente de valeurs.
Data Cache
API de bas niveau est la classe Cache, qui se trouve dans l'espace de noms System.web.Caching dans ASP.NET, vous pouvez l'utiliser pour mettre en cache des données gourmandes en ressources. L'utilisation de la classe Cache est aussi simple que les objets Session et Application. Il n'y a qu'un seul objet Cache par application. Cela signifie que les données stockées dans le cache à l'aide de l'objet Cache sont des données au niveau de l'application. Pour rendre les choses encore plus simples, la propriété Cache de la classe Page rend l'instance d'objet Cache de l'application disponible dans le code.
Les données mises en cache via l'objet Cache sont stockées dans la mémoire de l'application. Cela signifie que la durée de vie de ces données ne dépassera pas le redémarrage de l'application (en fait, c'est la même chose que les données stockées dans les objets Application et Session, à moins d'utiliser le mode session StateService ou SQL State pour stocker les données de session).
L'utilisation et la syntaxe spécifiques sont les mêmes que celles de Session et Application. Lors de la reconversion, vous devez faire attention à la conversion de type forcée du type correspondant.
Ce n'est pas le seul moyen d'ajouter des éléments de cache au cache ASP.NET. L'objet Cache possède deux méthodes, la méthode Insert() et la méthode Add(), qui sont plus flexibles. Leur utilisation est similaire, mais légèrement différente : la méthode
Insert() est utilisée pour écraser les entrées de cache existantes dans le cache ASP.NET.
La méthode Add() est uniquement utilisée pour ajouter de nouveaux éléments de cache au cache ASP.NET (elle échouera si vous l'utilisez pour écraser des éléments de cache existants).
Chaque méthode a 7 paramètres, et les paramètres des deux méthodes sont les mêmes.
Lors de la mise en cache d'un élément, vous pouvez spécifier sa pertinence, en indiquant à ASP.NET que l'élément mis en cache restera dans le cache jusqu'à ce qu'un certain événement se produise.
相关性值 |
含义 |
CacheDependency |
允许指定一个文件或缓存键。如果文件发生变化,对象就被删除。如果缓存键发生变化,对象也被删除。 |
DateTime |
这是一个DataTime值,指明缓存数据过期的时间(绝对过期时间) |
TimeSpan |
这是一个时间间隔,指明缓存数据在上一次访问后可以在缓存中保留多长时间(弹性过期时间) |
Utilisez CacheItemPriority pour spécifier la priorité des données mises en cache afin que les données de faible priorité puissent être supprimées lorsque le cache se remplit.
Valeur prioritaire
|
Signification | ||||||||||||||||
Élevé |
Les éléments du cache définis sur cette priorité sont les moins susceptibles d'être supprimés lorsque la mémoire est faible |
||||||||||||||||
AboveNormal |
Les éléments du cache définis sur cette priorité ont la priorité sur les éléments du cache ayant une priorité Normale ou inférieure |
||||||||||||||||
Normale |
Les éléments de cache définis sur cette priorité seront conservés plus tôt que les éléments de cache ayant des priorités inférieures à la normale et faibles |
||||||||||||||||
inférieurs à la normale |
Il s'agit de l'avant-dernier niveau de priorité ; les éléments du cache définis sur cette priorité ne sont conservés qu'avant les éléments du cache définis sur une priorité faible | tr>||||||||||||||||
Faible | Les éléments du cache définis sur cette priorité sont ceux qui sont les plus susceptibles d'être supprimés lorsque la mémoire est faible |
Par défaut |
La valeur par défaut la valeur de la priorité de l'élément de cache est Normal |
||||||||||||||
NotRemovable |
Lorsqu'un élément de cache est défini sur cette priorité, vous en informez ASP. NET de ne pas le supprimer du cache même si la mémoire est insuffisante |
DateTime dt = new DateTime(DateTime.Now.Year,12, 31);
Cache.Add("MembersDataSet",dsMembers,null,
dt,TimeSpan.Zero,
CacheItemPriority. Normal,null);
Le premier paramètre est la clé qui référence le cache objet, et le deuxième paramètre est l’objet à mettre en cache. Le troisième paramètre est nul (indiquant aucune corrélation).
Les quatrième et cinquième paramètres sont le délai d'expiration absolu et le délai d'expiration flexible. Ici, on précise que le cache doit expirer le dernier jour de l'année en cours (dt). Nous souhaitons spécifier un délai d'expiration non flexible, utilisez donc TimeSpan.Zero pour le cinquième paramètre. Le sixième paramètre utilise une valeur de l'énumération System.Web.Caching.CacheItemPriority pour définir la priorité sur Normal.
Spécifiez un délai d'expiration flexible de 5 minutes, aucun délai d'expiration absolu n'est spécifié
Cache.Add("MembersDataSet",dsMembers,null,
DateTime.MaxValue,TimeSpan.FromMinutes(5),
CacheItemPriority.Normal,null);
Ajouter une corrélation. Dans cet exemple, le délai d'expiration dépend également de la modification d'un fichier, le fichier test.xml :
CacheDependency dep = new CacheDependency (@"C:/test.xml");
Cache.Add(" MembersDataSet ",dsMembers,dep,
DateTime.MaxValue,TimeSpan.FromMinutes(5),
CacheItemPriority.Normal,null);
Le délai d'expiration dépend de la modification d'un autre élément du cache :
String[] dependencyKeys = new String[1];
dependencyKeys[0] = "MembersChanged";
CacheDependency dependency = new CacheDependency(null, dependencyKeys);Cache.Add("MembersDataSet ",dsMembers ,dependency,
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Dans quel dossier le navigateur met-il la vidéo en cache ? Lorsque nous utilisons le navigateur Internet quotidiennement, nous regardons souvent diverses vidéos en ligne, comme regarder des clips vidéo sur YouTube ou regarder des films sur Netflix. Ces vidéos seront mises en cache par le navigateur pendant le processus de chargement afin qu'elles puissent être chargées rapidement lors d'une nouvelle lecture ultérieure. La question est donc de savoir dans quel dossier ces vidéos mises en cache sont réellement stockées ? Différents navigateurs stockent les dossiers vidéo mis en cache à différents emplacements. Ci-dessous, nous présenterons plusieurs navigateurs courants et leurs

DNS (DomainNameSystem) est un système utilisé sur Internet pour convertir les noms de domaine en adresses IP correspondantes. Dans les systèmes Linux, la mise en cache DNS est un mécanisme qui stocke localement la relation de mappage entre les noms de domaine et les adresses IP, ce qui peut augmenter la vitesse de résolution des noms de domaine et réduire la charge sur le serveur DNS. La mise en cache DNS permet au système de récupérer rapidement l'adresse IP lors d'un accès ultérieur au même nom de domaine sans avoir à émettre une requête de requête au serveur DNS à chaque fois, améliorant ainsi les performances et l'efficacité du réseau. Cet article expliquera avec vous comment afficher et actualiser le cache DNS sous Linux, ainsi que les détails associés et des exemples de code. Importance de la mise en cache DNS Dans les systèmes Linux, la mise en cache DNS joue un rôle clé. son existence

Premiers pas avec Guava Cache : accélérez vos applications Guava Cache est une bibliothèque de mise en cache en mémoire hautes performances qui peut améliorer considérablement les performances des applications. Il fournit une variété de stratégies de mise en cache, notamment LRU (la moins récemment utilisée), LFU (la moins récemment utilisée) et TTL (durée de vie). 1. Installez le cache Guava et ajoutez la dépendance de la bibliothèque de cache Guava à votre projet. com.goog

Titre : Mécanisme de mise en cache et exemples de code de fichiers HTML Introduction : Lors de la rédaction de pages Web, nous rencontrons souvent des problèmes de cache du navigateur. Cet article présentera en détail le mécanisme de mise en cache des fichiers HTML et fournira quelques exemples de code spécifiques pour aider les lecteurs à mieux comprendre et appliquer ce mécanisme. 1. Principe de mise en cache du navigateur Dans le navigateur, chaque fois qu'une page Web est consultée, le navigateur vérifie d'abord s'il y a une copie de la page Web dans le cache. Si tel est le cas, le contenu de la page Web est obtenu directement à partir du cache. C'est le principe de base de la mise en cache du navigateur. Avantages du mécanisme de mise en cache du navigateur

PHPAPCu (remplacement du cache php) est un module de cache d'opcodes et de cache de données qui accélère les applications PHP. Comprendre ses fonctionnalités avancées est crucial pour utiliser tout son potentiel. 1. Opération par lots : APCu fournit une méthode d'opération par lots qui peut traiter un grand nombre de paires clé-valeur en même temps. Ceci est utile pour la suppression du cache ou les mises à jour à grande échelle. //Obtenir les clés de cache par lots $values=apcu_fetch(["key1","key2","key3"]); //Effacer les clés de cache par lots apcu_delete(["key1","key2","key3"]) ;2 .Définir le délai d'expiration du cache : APCu vous permet de définir un délai d'expiration pour les éléments du cache afin qu'ils expirent automatiquement après une heure spécifiée.

Comment exporter des vidéos du cache du navigateur Avec le développement rapide d'Internet, les vidéos sont devenues un élément indispensable de la vie quotidienne des gens. Lorsque nous naviguons sur le Web, nous rencontrons souvent du contenu vidéo que nous souhaitons enregistrer ou partager, mais parfois nous ne pouvons pas trouver la source des fichiers vidéo car ils n'existent que dans le cache du navigateur. Alors, comment exporter des vidéos depuis le cache de votre navigateur ? Cet article vous présentera plusieurs méthodes courantes. Tout d’abord, nous devons clarifier un concept, à savoir le cache du navigateur. Le cache du navigateur est utilisé par le navigateur pour améliorer l'expérience utilisateur.

Dans le développement PHP, le mécanisme de mise en cache améliore les performances en stockant temporairement les données fréquemment consultées en mémoire ou sur disque, réduisant ainsi le nombre d'accès à la base de données. Les types de cache incluent principalement le cache de mémoire, de fichiers et de bases de données. En PHP, vous pouvez utiliser des fonctions intégrées ou des bibliothèques tierces pour implémenter la mise en cache, telles que cache_get() et Memcache. Les applications pratiques courantes incluent la mise en cache des résultats des requêtes de base de données pour optimiser les performances des requêtes et la mise en cache de la sortie des pages pour accélérer le rendu. Le mécanisme de mise en cache améliore efficacement la vitesse de réponse du site Web, améliore l'expérience utilisateur et réduit la charge du serveur.

Exploration de la technologie de mise en cache PHP : un outil puissant pour améliorer les performances des sites Web, des exemples de code spécifiques sont nécessaires Introduction : Avec le développement rapide d'Internet aujourd'hui, les performances des sites Web sont cruciales pour l'expérience utilisateur et le classement des moteurs de recherche. En tant que langage de programmation couramment utilisé, PHP est largement utilisé dans le développement de sites Web. Comment améliorer les performances des sites Web PHP est devenu une question urgente pour les développeurs. L'une des solutions très importantes consiste à utiliser la technologie de mise en cache PHP. Cet article explorera le concept et la technologie spécifique de la mise en cache PHP et sera accompagné d'exemples de code pour aider les lecteurs à comprendre.
