2009-05-19 6 views
0

Où les données mises en cache sont-elles stockées dans l'application Asp.Net (tas ou mémoire RAM)mémoire de stockage de cache

+1

Je pense que vous êtes probablement un peu confus. Voulez-vous dire 'Heap' ou' Stack' –

Répondre

3

Eoin est absolument correct! La mise en cache signifie uniquement le stockage des données de votre mémoire secondaire ou de votre disque dur (base de données, fichiers, etc.) dans la mémoire principale ou dans la mémoire de l'application. Cela accélère l'exécution car la lecture depuis l'application mem est plus rapide que la lecture depuis les disques. Donc, si un fichier est stocké dans Cache, vous pouvez le lire plus rapidement que s'il ne l'était pas et que vous deviez le lire depuis le disque.

Pour plus de détails sur la mise en cache en visite asp.net ce link

idée générale sur la mémoire cache peut être trouvé here

0

Où pensez-vous que le tas est? Tout finit dans la RAM ou le Pagefile :)

Y avait-il quelque chose d'autre spécifique à cette question, les temps d'accès, etc.?

3

bien (ce qui est tout à fait simplifiée)

classes (à savoir les types de référence) sont stockés sur le tas, avec un pointeur sur ce type de référence stockées sur cette pile.

Les structs/types simples (c'est-à-dire les types de valeur) sont stockés directement sur la pile.

Mais en ce qui concerne la mise en cache, l'idée est que la valeur que vous stockez est stockée dans la mémoire de l'application arrêt complet. L'avantage serait que si vous avez une valeur que vous utilisez régulièrement, celle-ci est stockée dans la base de données, vous pouvez la récupérer une fois, la placer dans la mémoire cache et la récupérer directement à la mémoire à chaque utilisation ultérieure. de devoir retourner à votre base de données (ou FileSystem ou autre support de stockage relativement lent-récupération)

+0

Si vous allez dans cette direction, vous pourriez trouver quelque chose comme MemCached (http://en.wikipedia.org/wiki/Memcached) utile car il est optimisé pour le chargement de petites données en cache. – Lloyd

+0

Memcached semble intéressant. Il existe des fournisseurs pour cela sur CodePlex- http://www.codeplex.com/memcachedproviders. Microsoft a également sa propre version appelée Velocity- http://msdn.microsoft.com/en-us/data/cc655792.aspx. – RichardOD

Questions connexes