Django 如何在Memcached、Redis和Varnish之间进行选择?
我对Memcached、Redis和Varnish真的很困惑。我知道它们用于缓存,但我不知道它们有多大帮助,也不知道您如何知道使用哪一个Django 如何在Memcached、Redis和Varnish之间进行选择?,django,redis,memcached,varnish,Django,Redis,Memcached,Varnish,我对Memcached、Redis和Varnish真的很困惑。我知道它们用于缓存,但我不知道它们有多大帮助,也不知道您如何知道使用哪一个 最后,我想知道对于一个用户上传图片和视频的网站,你会使用什么?如果有帮助的话,我使用的是Django框架。Varnish是一个奇怪的例子,它是一个在真正的Web服务器(apache、nginx等)前面作为反向代理运行的服务器,它单独存储服务器的响应,并且可以决定为后续请求提供服务,而无需将请求传递到后端(Web服务器),因此,这就像HTML缓存一样简单 Mem
最后,我想知道对于一个用户上传图片和视频的网站,你会使用什么?如果有帮助的话,我使用的是Django框架。Varnish是一个奇怪的例子,它是一个在真正的Web服务器(apache、nginx等)前面作为反向代理运行的服务器,它单独存储服务器的响应,并且可以决定为后续请求提供服务,而无需将请求传递到后端(Web服务器),因此,这就像HTML缓存一样简单
Memcached和redis实际上是数据存储服务器,特别是键值存储服务器。就python而言,你可以说它是一个巨大的“字典”,你用一个键设置值,然后按键检索它们。它们之间没有什么区别,你可以简单地用谷歌memcached和redis。我使用的是Django和memcached,所以我可以告诉你如何使用它们。
我有一些数据,几乎从不更改,需要很短的时间(几秒钟)才能加载。
缓存它们将把秒变成几秒,因此加载时间减少了10倍 使用memcached非常简单:
在
settings.py
或等效的BACKEND
选项中:“后端”:“django.core.cache.backends.memcached.MemcachedCache”
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)
从django.core.cache导入缓存
cache.set('myData',myData)
# ... 在另一个地方:
myData=cache.get('myData')
如果不是myData:
#在“缓存未命中”的情况下重新计算myData,然后重新缓存它。
#myData=
cache.set('myData',myData)