2010-11-04 7 views
12

Abbiamo ristretto le nostre scelte per il caching verso memcached e redis nella nostra applicazione. Abbiamo già preso in considerazione e applicheremo Output Caching nella nostra applicazione. La mia domanda è qual è la tua esperienza con entrambi e quale dovrei preferire?MemCached vs Redis per ASP.NET e Entity framework?

Ci aspettiamo circa 400000 utenti in un secondo momento, quindi stiamo pensando al caching e stiamo ottimizzando la nostra applicazione con il profiling e le query di fissaggio. Abbiamo anche considerato Ncache, ma a causa del prezzo è fuori discussione. Allo stesso tempo pensiamo che memcached e redis si esibiranno allo stesso modo gratuitamente.

Ma quale sarebbe l'opzione migliore per il caching tenendo presente che stiamo usando asp.net mvc 2, sql server 2005 e entity framework 4? Ci sono problemi di cui dovrei essere a conoscenza con qualcuno di loro?

Eventuali suggerimenti o idee sono ben accetti! Molte grazie.

+0

Un'altra opzione da considerare è AppFabric di Microsoft. Se voi ragazzi siete un negozio di MS questo potrebbe essere una buona opzione per voi. Mi chiedo se voi ragazzi avete considerato e scartato o forse non è stato un buon adattamento (?) Http://msdn.microsoft.com/en-us/windowsserver/ee695849.aspx –

+0

Se NCache era la vostra scelta preferita e siete aspettando 400.000 utenti penso che $ 1995 non sia un investimento troppo cattivo. Ricorda che il software "libero" è assolutamente fantastico, ma solo se (a lungo termine) salverà! – JcMaltaDev

+0

Sì ... Non ho mai guardato in AppFabrice..ma il mio capo ha pensato che tornerò da te ... mentre Ncache costa che l'ho suggerito ... ma credo che abbiamo pensato che memcached e redis avrebbero funzionato allo stesso modo per gratis..ma forse abbiamo bisogno di ulteriori ricerche su questo .. – Vishal

risposta

8

memcached e redis differiscono un po '.

Memcached è completamente in memoria e perderà tutta la sua cache nel caso in cui il server venga riavviato.

Il rosso è persistente e in più ha molte più funzioni (come operazioni di set, elenchi, contatori, ecc.).

Dato che si sta parlando solo di una cache, memcache potrebbe essere la soluzione migliore poiché è dedicata proprio a questo.

Usiamo memcache per un sacco di cose e quello che fa fa bene. Se in seguito risulta necessario persistenza, puoi sempre passare a memcachedb che utilizza lo stesso protocollo mecache ma ha un backbite berkelydb

+1

Come una semplice cache key-val Memcached è buono, ma se hai bisogno di più e persistenza ti suggerisco di usare Redis dato che memcacheDB non funzionerà bene, cerca l'istanza per come i ragazzi di Reddit hanno avuto grossi problemi a usarlo. Non è neanche lontanamente in grado di ridimensionare a quali numeri Redis/Memcached di solito sono. – antirez

+0

@antirez: buon consiglio su memcachedb. Non ho letto quella storia. – Toad