2012-09-13 16 views
15

Sono diviso tra l'utilizzo di Memcache e l'utilizzo di Cache di Windows Azure. Non ho esperienza in uno di loro in modo mi piacerebbe che qualcuno a venire con alcuni fattori decisivi:MemCache e Azure Caching

  • prezzo
  • prestazioni
  • facilità d'uso
  • nulla

risposta

37

È effettivamente necessario valutare 3 opzioni possibili:

  • Windows Azure Shared Caching (in precedenza Windows Azure AppFabric Caching)
  • Windows Azure Caching (Anteprima)
    • utilizza la memoria libera di ruoli (in modo non c'è bisogno di pagare qualcosa in più per utilizzare questo)
    • Nessun quote (tranne che per la memoria disponibile sul le istanze), senza limitazione, ...
    • dedicato a tutte le servizio cloud
    • Miglioramento delle prestazioni nel corso Shared Caching (vedi fine pagina this)
    • supporto per cache di grandi dimensioni oltre 100 GB
    • Supporto per binario memcache e il protocollo di testo s (applicazioni in modo esistenti che sono sulla base di memcached possono sfruttare l'anteprima caching)
    • Visual Studio support
  • Memcached
    • Can essere utilizzato in Windows Azure
    • utilizza la memoria dei vostri ruoli, proprio come il anteprima di cache
    • Gratuito, proprio come l'anteprima di memorizzazione nella cache
    • Nessun supporto di Visual Studio
    • dedicato, senza quote, il supporto per cache di grandi dimensioni, ...

Non ho alcun benchmark, ma dal momento che Windows Azure Caching (Anteprima) e Memcached sono soluzioni dedicate che utilizzano la memoria i tuoi ruoli e supporta il protocollo memcached, potresti semplicemente andare per la cache di Windows Azure (anteprima) per il supporto di Visual Studio e .NET. E una volta lasciata l'anteprima, sarai in grado di ottenere anche il supporto.

+0

Brillante, chiaro ed esattamente ciò di cui avevo bisogno. Hai un link a cui posso tenerti aggiornato con l'anteprima della cache di Windows Azure? – MaxWillmo

+0

Inoltre, la cache di Windows Azure rimuove automaticamente la cache non utilizzata come Memcached? – MaxWillmo

+1

Non so come Memcached gestisca esattamente la cache non utilizzata, ma Cache di Azure consente di lavorare con l'invalidazione basata su Time-out e l'invalidazione basata sulla notifica: http://msdn.microsoft.com/en-us/library/windowsazure /hh914130.aspx. E ti suggerisco di seguire il blog di Windows Azure per rimanere aggiornato con l'anteprima di Caching e tutti gli altri esempi di Azure: http://blogs.msdn.com/b/windowsazure/ –

1

Da quello che posso dire, la cache Azure non è compatibile con memcache:

[email protected]**:~# memccapable -h **.cache.windows.net -p 22233 -t 1 -b 
binary noop        Errno: 110 Connection timed out [FAIL] 
binary quit        Errno: 110 Connection timed out [FAIL] 
binary quitq       [FAIL] 
binary set        Errno: 104 Connection reset by peer [FAIL] 
binary setq        Errno: 104 Connection reset by peer [FAIL] 
binary flush       Errno: 104 Connection reset by peer [FAIL] 
binary flushq       Errno: 104 Connection reset by peer [FAIL] 

ho rinunciato a cercare di farlo funzionare. L'installazione di memcached su una VM di Azure Linux ha un effetto ottimo sulla latenza < 1 ms.