2010-11-04 7 views
12

Nous avons réduit nos choix pour la mise en cache vers memcached et redis dans notre application. Nous avons déjà considéré et appliquerons la mise en cache de sortie dans notre application. Ma question est quelle est votre expérience avec les deux et lequel dois-je préférer?MemCached vs Redis pour le framework ASP.NET et Entity?

Nous attendons environ 400 000 utilisateurs plus tard, nous pensons donc à la mise en cache et nous sommes en train d'optimiser notre application en profilant et en corrigeant les requêtes. Nous avons également considéré Ncache mais en raison de son prix hors de sa contention. En même temps, nous pensons que memcached et redis fonctionneront également gratuitement.

Mais quelle serait une meilleure option pour la mise en cache en gardant à l'esprit que nous utilisons asp.net mvc 2, sql server 2005 et entity framework 4? Y a-t-il des problèmes dont je devrais être au courant avec l'un ou l'autre?

Toutes les suggestions ou idées sont les bienvenues! Merci beaucoup. Memcached et redis diffèrent pas mal de

+0

Une autre option à prendre en compte est AppFabric de Microsoft. Si vous êtes un magasin MS, cela pourrait être une bonne option pour vous. Je me demande si vous les avez considérés et jetés ou peut-être que ce n'était pas un bon ajustement (?) Http://msdn.microsoft.com/en-us/windowsserver/ee695849.aspx –

+0

Si NCache était votre choix préféré et vous êtes J'attends 400 000 utilisateurs, je pense que 1995 n'est pas un mauvais investissement. Rappelez-vous que le logiciel "gratuit" est __absolument fantastique__, mais seulement si (à long terme) il permettra d'économiser! – JcMaltaDev

+0

Yea .. Je n'ai pas moi-même regardé AppFabrice..mais mon patron a je pense va revenir à vous ... tandis que le coût de Ncache je l'ai suggéré .. mais je pense que nous avons pensé memcached et redis effectuera la même chose Libre .. mais peut-être nous avons besoin de plus de recherche sur ce .. – Vishal

Répondre

8

Memcached est complètement en mémoire et perdra tout son cache au cas où le serveur est redémarré. Redis est persistant, et en plus de cela a beaucoup plus de fonctionnalités (comme les opérations de jeu, les listes, les compteurs, etc.).

Puisque vous ne parlez que d'un cache, memcache est peut-être le meilleur choix car il est dédié à cela. Nous utilisons memcache pour beaucoup de choses et ce que ça fait c'est bien. S'il s'avère plus tard que vous avez besoin de persistance, vous pouvez toujours passer à memcachedb qui utilise le même protocole mecache mais qui a un backend berkelydb

+1

En tant que simple clé-val cache Memcached est bien en effet, mais si vous avez besoin de plus et de persistance, je suggère d'utiliser Redis comme memcacheDB ne va pas bien fonctionner, rechercher par exemple comment les gars de Reddit ont eu de gros problèmes à l'utiliser. Il n'est même pas capable d'évoluer à l'échelle de ce que sont habituellement les numéros Redis/Memcached. – antirez

+0

@antirez: bonne astuce à propos de memcachedb. Je n'ai pas lu cette histoire. – Toad