2010-03-30 3 views

Répondre

1

Comme je l'ai compris après avoir lu wikipedia et memcached.org il a au moins caractéristiques suivantes

  • actes memcached comme un service à votre programme, donc si votre plantage du programme, memcached ne
  • il peut être distribué des serveurs de quantité (évolutivité!)
  • est cache pas seulement le dictionnaire, il peut supprimer les données si elle aime (pas de débordement)

notion similaire n'est pas Dictionary<string, object> mais HttpContext.Current.Cache, mais il est différent

1

La raison pour laquelle j'ai commencé à regarder dans c'était parce que notre application était charge équilibrée sur plusieurs serveurs: si j'utilisé Memcached, je pouvais utiliser son cache (et certaines implémentations semblent également avoir un fournisseur d'état de session) non seulement pour répartir les charges sur tous les serveurs, mais aussi pour en supprimer une à la ferme pour la maintenance ou le déploiement tout en gardant les autres intacts.

0

Il est pas très différent d'un dictionnaire, il fonctionne seulement sur un autre serveur.

Vous voulez utiliser memcached si vous avez besoin de votre cache pour vivre au-delà de la durée de vie de votre application ASP.NET (ce qui pourrait être recyclé à tout moment). Selon la taille et le nombre d'éléments que vous devez mettre en cache, vous pouvez atteindre le point où il n'y a pas assez d'espace sur le serveur IIS. N'oubliez pas qu'il doit exécuter l'application et mettre en cache tous les éléments.

Dans certains cas, la création d'un cache d'éléments est très coûteuse pour une application. Dans ces applications, vous causerez des soucis importants sur d'autres services tels qu'une base de données si IIS doit être recyclé.

Lorsque vous commencez à utiliser Memcached vous devez faire des considérations sur la façon dont il s'adapter à la façon dont vous utilisez votre base de données (ou autre magasin de support). Vous devez décider si vous allez uniquement écrire dans memcached et que cet événement doit mettre à jour le contenu de la base de données. D'un point de vue économique, vous devriez probablement réfléchir à la possibilité d'utiliser memcached pour éviter le coût d'installation d'un autre serveur de base de données (en supposant que cela coûte plus cher à construire/maintenir dans votre situation).