Maison développement back-end Tutoriel C#.Net Une brève analyse de la technologie de mise en cache des pages asp.net

Une brève analyse de la technologie de mise en cache des pages asp.net

Mar 31, 2017 am 11:55 AM

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

<.tbody>Indique que la mise en cache de sortie est désactivée pour cette page
Emplacement
Location
含义
Any
默认值。意味着页面的输出可以缓存在客户端浏览器,缓存在任何“下游”的客户端(如代理服务器),或缓存在Web服务器本身
Client
指明输出缓存只能存储在发出请求的客户端(即浏览器)的本地缓存中
Downstream
指明输出缓存能存储在任何支持HTTP1.1缓存的设备(如代理服务器)中
Server
指明输出缓存将存储在Web服务器上
None
指明该页面禁用输出缓存
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


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.

tr>
Valeur prioritaire
优先级值
含义
High
设为此优先级的缓存项是最不可能在内存不足时被删除的
AboveNormal
设为此优先级的缓存项比优先级为Normal或以下的缓存项更优先保留
Normal
设为此优先级的缓存项比优先级为BelowNormal和Low的缓存项更优先保留
BelowNormal
这是倒数第二级的优先级;设为此优先级的缓存项只比优先级设为Low的缓存项更优先保留
Low
设为此优先级的缓存项是最有可能在内存不足时被删除的
Default
缓存项的优先级的默认值是Normal
NotRemovable
当缓存项设为此优先级时,是在告诉ASP.NET即使是内存不足,也不要从缓存中删除它
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
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,
DateTime.MaxValue,TimeSpan.Zero,
CacheItemPriority.Normal,null);

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!

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Où sont stockés les fichiers vidéo dans le cache du navigateur ? Où sont stockés les fichiers vidéo dans le cache du navigateur ? Feb 19, 2024 pm 05:09 PM

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

Comment afficher et actualiser le cache DNS sous Linux Comment afficher et actualiser le cache DNS sous Linux Mar 07, 2024 am 08:43 AM

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

Accélérez vos applications : un guide simple sur la mise en cache Guava Accélérez vos applications : un guide simple sur la mise en cache Guava Jan 31, 2024 pm 09:11 PM

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

Les fichiers HTML seront-ils mis en cache ? Les fichiers HTML seront-ils mis en cache ? Feb 19, 2024 pm 01:51 PM

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

Utilisation avancée de PHP APCu : libérer la puissance cachée Utilisation avancée de PHP APCu : libérer la puissance cachée Mar 01, 2024 pm 09:10 PM

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 enregistrer des fichiers vidéo du cache du navigateur vers le local Comment enregistrer des fichiers vidéo du cache du navigateur vers le local Feb 23, 2024 pm 06:45 PM

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.

Mécanisme de mise en cache et pratique d'application dans le développement PHP Mécanisme de mise en cache et pratique d'application dans le développement PHP May 09, 2024 pm 01:30 PM

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.

Une plongée approfondie dans la technologie de mise en cache PHP : la clé pour accélérer les performances d'un site Web Une plongée approfondie dans la technologie de mise en cache PHP : la clé pour accélérer les performances d'un site Web Jan 23, 2024 am 08:37 AM

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.

See all articles