我对Memcached,Redis和Varnish非常困惑。我知道它们用于缓存,但我不知道它们有多大帮助,以及您如何知道使用哪一个。
最后,我想知道你会用一个用户上传的图片和视频的网站?如果它有助于我使用Django框架。
答案 0 :(得分:20)
Varnish是奇怪的,它是一个服务器,在真正的网络服务器(apache,nginx等)前面作为反向代理运行,它分别存储服务器的响应,并可能决定为它提供服务后续请求没有将请求传递给后端(网络服务器),所以就像HTML缓存一样。
Memcached和redis实际上是数据存储服务器,特别是键值存储服务器。就python而言,您可以说它是一个巨大的“字典”,您可以使用键设置值并按键检索它们。两者之间几乎没有差异,你可以简单地谷歌memcached与redis。
答案 1 :(得分:6)
我正在使用Django和memcached,所以我可以告诉你如何使用它 我有一些数据,几乎从不改变,需要少量的时间(几秒钟)才能加载 缓存它们会将秒数变成几分之一秒,因此加载时间减少了10倍。
使用memcached非常简单:
为您的操作系统安装并运行memcached。
配置Django将其用作缓存机制
在settings.py
或等效的集BACKEND
选项中:
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache'
从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)