你如何选择Memcached,Redis和Varnish?

Rob*_*bin 17 django memcached varnish redis

我对Memcached,Redis和Varnish非常困惑.我知道它们用于缓存,但我不知道它们有多大帮助,以及您如何知道使用哪一个.

最后,我想知道您将使用用户上传的图片和视频的网站?如果它有助于我使用Django框架.

Moh*_*ady 22

Varnish是奇怪的,它是一个服务器,在真实的web服务器(apache,nginx等)前面作为反向代理运行,它分别存储服务器的响应,并可以决定为后续请求提供服务将请求传递给后端(Web服务器),所以就像HTML缓存一样.

Memcached和redis实际上是数据存储服务器,特别是键值存储服务器.就python而言,您可以说它是一个巨大的"字典",您可以使用键设置值并按键检索它们.两者之间几乎没有差异,你可以简单地谷歌memcached与redis.


ton*_*njo 6

我正在使用Django和memcached,因此可以告诉我如何使用它。
我有一些数据,几乎从未更改,需要少量时间(几秒钟)来加载。
缓存它们将使秒变成几分之一秒,因此加载时间减少了10倍。

使用memcached非常简单:

  1. 为您的操作系统安装并运行memcached。

  2. 配置Django以将其用作缓存机制。
    settings.py或等效设置BACKEND选项:
    'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache'

  3. 从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)
    
    Run Code Online (Sandbox Code Playgroud)