2010-11-04 14 views
12

Wir haben unsere Auswahlmöglichkeiten für das Zwischenspeichern auf Memcached und Redis in unserer Anwendung eingeschränkt. Wir haben bereits das Output Caching in unserer Anwendung berücksichtigt und werden es anwenden. Meine Frage ist, was ist Ihre Erfahrung mit beiden und welche sollte ich bevorzugen?MemCached vs Redis für ASP.NET und Entity-Framework?

Wir erwarten später etwa 400000 Benutzer, daher denken wir über Caching nach und wir sind dabei, unsere Anwendung zu optimieren, indem wir Abfragen erstellen und korrigieren. Wir haben auch Ncache in Betracht gezogen, aber wegen des Preises ist es nicht in Frage. Gleichzeitig denken wir, dass Memcached und Redis gleichermaßen kostenlos funktionieren werden.

Aber was wäre eine bessere Option für die Zwischenspeicherung unter Berücksichtigung asp.net MVC 2, SQL Server 2005 und Entity Framework 4? Gibt es Probleme, mit denen ich mich auseinandersetzen sollte?

Anregungen oder Ideen sind willkommen! Danke vielmals.

+0

Eine weitere zu berücksichtigende Option ist Microsofts AppFabric. Wenn Sie ein MS-Shop sind, könnte dies eine gute Option für Sie sein. Ich frage mich, ob ihr es in Betracht gezogen habt und es verworfen habt, oder vielleicht war es nicht gut (?) Http://msdn.microsoft.com/en-us/windowsserver/ee695849.aspx –

+0

Wenn NCache deine bevorzugte Wahl war und du es bist ich erwarte 400.000 Benutzer Ich denke, 1995 ist keine schlechte Investition. Denken Sie daran, "kostenlose" Software ist absolut fantastisch, aber nur wenn (auf lange Sicht) wird es sparen! – JcMaltaDev

+0

Ja ... ich habe mich selbst nicht in AppFabrice hineingeschaut..aber mein Chef hat, denke ich, wird zu dir zurückkommen ... während Ncache kostete, habe ich es vorgeschlagen..aber ich denke, wir dachten Memcached und Redis werden das gleiche für durchführen frei..aber vielleicht brauchen wir mehr Forschung zu diesem .. – Vishal

Antwort

8

Memcached und Redis unterscheiden sich ein wenig.

Memcached ist vollständig im Speicher und verliert seinen gesamten Cache, wenn der Server neu gestartet wird.

Redis ist persistent und hat darüber hinaus viele weitere Funktionen (wie Operationen, Listen, Zähler usw.).

Da Sie nur über einen Cache sprechen, könnte Memcache besser passen, da es genau dafür gedacht ist.

Wir verwenden Memcache für viele Dinge und was es tut tut es gut. Wenn sich später herausstellt, dass Sie Persistenz benötigen, können Sie immer für memcachedb wechseln, das dasselbe mecache-Protokoll verwendet, aber über ein berkelydb-Backend verfügt

+1

Als einfacher Schlüssel-Val-Cache Memcached ist in der Tat gut, aber wenn Sie mehr und Persistenz benötigen, empfehle ich, Redis als MemcacheDB wird nicht gut funktionieren, zum Beispiel zu suchen Wie Reddit Leute hatten große Probleme damit. Es ist nicht einmal in der Lage, zu skalieren, was Redis/Memcached-Nummern normalerweise sind. – antirez

+0

@antirez: guter Tipp über memcachedb. Ich habe diese Geschichte nicht gelesen. – Toad