2009-09-04 25 views
8

Le immagini del profilo utente sono memorizzate in un fileserver separato e sto pensando di memorizzarle nella cache in memcached. Il server memcached è locale all'app e ogni immagine è inferiore a 1 MB.Memorizzazione nella cache delle immagini in Memcached

Ma ho visto oltre here che usare memcached per le immagini è una cattiva idea. É davvero? Non sono davvero convinto.

Eventuali best practice e suggerimenti? Sto usando il client Java SpyMemcached.

risposta

5

Linux memorizza automaticamente nella cache i file letti dal disco. I proxy di cache come Squid sono anche bravi a memorizzare le immagini nella cache.

Quindi ... ci sono certamente strumenti migliori per il lavoro. D'altra parte, nginx ha recentemente aggiunto il supporto memcached. Senza contesto, è davvero difficile giudicare questa raccomandazione.

Potrebbero significare "Non pubblicare immagini da memcached tramite uno script PHP", nel qual caso sono assolutamente corrette: il PHP aggiunge tonnellate di spese generali. Ma non vedo necessariamente come usare la funzione memcache di Nginx per archiviare e servire le immagini sia una cosa negativa.

Modifica: Sembra che facebook may have cached profile images in memcached a un punto.

+1

Sto già utilizzando memcached per la mia applicazione e l'archiviazione di un sacco di cose, e quindi la tentazione di andare con Memcached per le immagini piuttosto che usare altri modi significati esp per i file di cache. – Langali

+0

Attenzione: apache può servire immagini da disco in meno del tempo necessario all'avvio del framework PHP. Benchmark tu stesso, ma scoprirete che i server Web sono davvero bravi a servire file flat. –

+0

Ho 3 server Apache di fronte a 3 istanze Tomcat, parlando con un fileserver separato. L'ideale sarebbe scaricarlo su CDN o persino archiviare localmente in Apache, ma ho bisogno di proteggere l'accesso a tali immagini in base ai ruoli. Questo mi limita a server da Tomcat. E quindi una cache distribuita nella stessa rete è il motivo per cui Memcached ha senso per me. Vedrò cosa dicono i miei benchmark. – Langali

Problemi correlati