嗯,咳咳咳咳咳,这是在win平台上。linux平台上没折腾
首先你要在win上安装 Memcache
下载 :点我下载 里面有x64 和 x86 的。根据自己的系统版本来选择使用
使用命令行:
1,在文件目录下
memcached -d install
2,启动服务(默认端口是11211)
net start "Memcached Server" (或者services.msc进入到服务,找到memcached服务,开启即可)
为Django加上缓存
a,安装插件
b,在setting中配置缓存
# settings.py中的配置
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION': [
'127.0.0.1:11211',
]
}
}
c,在views.py中进行调用( 60*15 表示为此方法缓存时间为15分钟。对了别忘了导入)
当然,上面加个装饰起的缓存方法和可以使用下面的方法实现(直接在路由中)
如果不想为一个方法(页面)进行缓存,只想缓存某个字段的话,可以使用
当然了针对于上面的这种方法,选取你要缓存的值是非常正确的。因为memcache为key-value数据库。不能存储对象(例如数据库查询结果对象)。
如果要缓存对象的话,那得使用mongodb,redis也不行,因为redis也是key-value数据库。
缓存的原理:
原来没有的时候:
1,Django view通过Models从DB获取数据
2,然后调用template去渲染,形成真正的HttpResponse
3,通过Http Socket将数据写回给客户端
有了memcache:
上面的1,2就被省了,根据url直接从缓存池里取出保存过的HttpResponse,返回给客户端
好了,看看效果(这是使用装饰器的方法演示)
重新选择一个城市
结果,还是没变,还在杭州(缓存是起效了,但是看来并不适合我这,因为网站是就业平台,不能选择城市是大问题,哈哈。这里只是演示使用)