framework cache django redis memcached varnish

framework - django redis cache



¿Cómo eliges Memcached, Redis y Barniz? (2)

Estoy realmente muy confundido sobre Memcached, Redis y Barniz. Sé que se usan para el almacenamiento en caché, pero no sé cuánto ayudan, y cómo sabes cuál usar.

Y, por último, me gustaría saber qué usarías para un sitio con imágenes y videos subidos por usuarios. Si ayuda, estoy usando el framework Django.


Estoy usando Django y memcached, así que puedo decir cómo usar ese.
Tengo algunos datos, casi nunca cambian, que requieren una pequeña cantidad de tiempo (unos segundos) para cargarse.
Al almacenarlos en caché, los segundos se convertirán en fracciones de segundos, por lo que el tiempo de carga se reduce en un factor de 10.

Usar memcached es muy simple:

  1. Instale y ejecute memcached para su sistema operativo.

  2. Configure Django para usarlo como mecanismo de caché.
    En settings.py o equivalente, configure la opción BACKEND :
    ''BACKEND'': ''django.core.cache.backends.memcached.MemcachedCache''

  3. Almacenar y recuperar datos de memcached:

    from django.core.cache import cache cache.set(''myData'',myData) # ... in another place: myData = cache.get(''myData'') if not myData: # re-calculate myData in case of a ''cache miss'', then re-caching it. # myData = <calculations> cache.set(''myData'',myData)


Varnish es el raro, es un servidor que se ejecuta como un proxy inverso frente al servidor web real (apache, nginx, etc.) y almacena la respuesta del servidor por separado y puede decidir servirlo para una solicitud posterior sin pasando la solicitud al back-end (el servidor web), simplemente es como el almacenamiento en caché HTML.

Memcached y Redis son en realidad servidores de almacenamiento de datos, específicamente servidores de almacenamiento de valores clave. En términos de python, podrías decir que es un gran ''diccionario'', puedes establecer valores con una clave y recuperarlos por clave. Hay pocas diferencias entre ambos, puedes simplemente Google memcached vs redis.