我对Memcached,Redis和Varnish非常困惑。我知道它们被用于缓存,但我不知道它们有多少帮助,以及如何知道使用哪一个。你如何选择Memcached,Redis和Varnish?
最后,我想知道你会用什么网站用户上传的图片和视频?如果它有帮助我使用Django框架。
我对Memcached,Redis和Varnish非常困惑。我知道它们被用于缓存,但我不知道它们有多少帮助,以及如何知道使用哪一个。你如何选择Memcached,Redis和Varnish?
最后,我想知道你会用什么网站用户上传的图片和视频?如果它有帮助我使用Django框架。
Varnish是一个奇怪的问题,它是一个服务器,在真正的网络服务器(apache,nginx等)之前作为反向代理运行,它将服务器的响应分开存储并可以决定为它服务一个后续的请求,而不将请求传递给后端(网络服务器),所以简单就像HTML缓存。
Memcached和redis实际上是数据存储服务器,特别是键值存储服务器。在python方面,你可以说它是一个巨大的'词典',你用一个键设置值并通过键检索它们。他们之间几乎没有什么区别,你可以简单的谷歌memcached与redis。
我正在使用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)
http://stackoverflow.com/questions/4490140/memcached-vs-清漆换加速部分 - 三层的Web架构 –