2013-01-09 5 views
3

J'ai un projet simple que j'aimerais publier sur les sites Web Azure. J'ai besoin de faire une mise en cache de base de quelques valeurs pour accélérer un peu les choses.Stratégie de cache dans les sites Web Azure

Quelle est la bonne stratégie pour mettre en cache des données dans ce scénario? Je suppose que tant que je reste libre ou réservé, je peux utiliser un simple cache Web standard car c'est une seule machine, mais que se passe-t-il si je souhaite partager un certain nombre d'instances? Le cache distribué est-il réellement disponible pour les sites Web? Quelles autres options ai-je pour le cache simple ici?

Répondre

1

Selon this, il ne semble pas que vous puissiez utiliser le cache partagé/distribué. Est-ce que cela a changé? Avez-vous un lien indiquant qu'Azure prend en charge l'un de ses deux scénarios de cache pour les sites Web?

Tant que vous avez seulement 1 instance, vous avez raison, en utilisant le normal outputCache devrait être correct. Si vous migrez vers 2 instances ou plus, vous devrez peut-être migrer d'un site Web vers un service hébergé afin d'utiliser l'une des deux autres stratégies de mise en cache. Azure n'offre pas la gamme complète de fonctionnalités des sites Web avec les services hébergés.

+0

J'ai lu le sur la limitation pour dist. cache, n'était pas sûr qu'il était encore valide. Je suppose que c'est quelque chose qu'ils vont corriger avant de sortir le produit de la version bêta. – Riri

+1

Cela fait maintenant 6 mois après la réponse de danludwig et je suppose que beaucoup de choses ont changé dans le monde Azure - je viens de déployer un site web qui utilise Azure Shared Cache.Cependant, ce qui me rend un peu fou, c'est que, au moins à mon humble avis, même sur le site MSDN, il ya beaucoup de documentation désuète et il est assez difficile d'obtenir de bonnes réponses. La question de Riri est excellente, je me demande ce que serait une réponse à jour :-) –

+1

@AntoninJelinek, si vous utilisez un cache partagé/distribué avec un site web, alors il semble que vous ayez une réponse à jour à cette question. Je crois que la question a à voir avec l'utilisation du cache partagé dans un site Web par rapport à un service hébergé ... dans ce dernier, le cache partagé a toujours été disponible. – danludwig

1

Voici mes 2 cents basés sur une brève discussion sous la réponse de Dan. Depuis juillet 2013, je viens de déployer mon site web/application web sur Azure. C'est une sorte de football (football pour nos amis américains :-)) jeu de prédiction. Il utilise la mise en cache de manière à stocker beaucoup d'objets POCO (comme la liste des correspondances, la liste des joueurs, etc.) dans le cache. Ce n'est pas une application flambant neuve, nous l'avons fait fonctionner pendant 2 saisons sur un serveur sur site (2 serveurs dans une ferme qui était un peu trop lourde, SQL db). Pour le moment, nous utilisons une seule instance en mode partagé. La nouvelle saison commence la semaine prochaine et nous devrions voir que cette instance unique ne suffit pas, nous sommes prêts à intensifier.

Je vais enfin mettre en cache. Nous avons opté pour le cache partagé. Comment le configurer est bien documenté, bien que mon sentiment personnel est que la documentation ne suit pas la vitesse à laquelle Azure évolue.

Pour mettre des éléments dans et à partir du cache partagé est facile à faire, ainsi que la façon de le configurer dans web.config. Nous avons dû faire un petit effort pour trouver un moyen d'effacer complètement le cache de votre application quand vous en avez besoin - pour autant que je sache, il n'y a aucun moyen d'énumérer les éléments déjà dans le cache. À la fin, nous nous sommes retrouvés avec une solution très simple, chaque fois que vous mettez quelque chose dans le cache, vous notez simplement la clé quelque part et lorsque vous avez besoin d'effacer tout le cache, vous l'utilisez.

Maintenant, je dois dire que je ne suis pas la personne qui paie la facture pour cet hébergement Azure, je ne vois pas la facture actuelle sur le portail Azure mais je suis évidemment préoccupé par le prix global. Ce qui n'est pas vraiment clair pour moi, c'est le coût d'utilisation du cache partagé. Il m'a fallu du temps pour trouver une table de prix, même si je ne suis pas tout à fait sûr si cela s'applique vraiment ou non. Je n'ai pas pu voir cela dans Azure Price Calculator. Je reviens à mon commentaire sous la réponse de Dan - Je crois qu'il y a beaucoup de développeurs travaillant sur des sites Web de petite et moyenne taille, en utilisant HttpCache standard comme un endroit pour mettre vos objets POCO pour un accès plus rapide. Dans de tels exemples, la taille globale du cache peut atteindre 50 Mo (en fonction de la manière dont vous travaillez avec le cache). Ces sites Web peuvent être OK sur une seule instance, mais bon - 2 instances et plus botter le cul et je veux être prêt quand le temps passe à l'échelle. Dans de tels cas, il me manque des indications claires sur le type de cache à choisir et combien cela va coûter.

Questions connexes