【问题标题】:How do you choose between Memcached, Redis and Varnish?您如何在 Memcached、Redis 和 Varnish 之间进行选择?
【发布时间】:2014-04-02 19:53:11
【问题描述】:

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

最后,我想知道您会为包含用户上传的图片和视频的网站使用什么?如果有帮助,我正在使用 Django 框架。

【问题讨论】:

标签: django redis memcached varnish


【解决方案1】:

Varnish 是一个奇怪的例子,它是一个在真实网络服务器(apache、nginx 等)前面作为反向代理运行的服务器,它单独存储服务器的响应,并可以决定为它提供服务后续请求而不将请求传递给后端(网络服务器),所以它就像 HTML 缓存一样。

Memcached 和 redis 实际上是数据存储服务器,特别是键值存储服务器。就 python 而言,你可以说它是一个巨大的“字典”,你用一个键设置值并通过键检索它们。两者差别不大,你可以谷歌一下 memcached vs redis。

【讨论】:

    【解决方案2】:

    我正在使用 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)
      

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-25
      • 2012-11-27
      • 2011-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多