缓存
Django 是动态Web后台框架,需要实时生成用户访问的页面,进行多次的数据库操作,但是多次的数据库访问操作对于整个Web系统来说,会影响效率,尤其是当访问量增大时,数据库的压力也会越来越大。
相对于磁盘及内存操作,数据库的访问操作付出的成本要大的多
浏览器第一次请求时,cache会缓存单个变量或整个网页等内容到硬盘或者内存中,同时设置response头部
当浏览器再次发起请求时,会与缓存中的过期时间相比较,如果缓存时间比较新,则会重新请求数据,并缓存起来然后返回response给客户端,如果缓存没有过期,则直接从缓存中提取数据,返回给response给客户端
Cache-Control
HTTP协议头Cache-Control,Cache-Control与Expires的作用一致,都是指明当前资源的有效期,控制浏览器是否直接从浏览器缓存取数据还是重新发请求到服务器取数据。只不过Cache-Control的选择更多,设置更细致,如果同时设置的话,其优先级高于Expires
在python中使用memcached需要我们额外安装memcached作为memcache客户端的支持
1
pip3 install python-memcached -i https://pypi.tuna.tsinghua.edu.cn/simple
Cache设置
memcached
安装memcached
1
2
apt-get install memcached # debian
yum install memcached