博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Django的缓存?
阅读量:6211 次
发布时间:2019-06-21

本文共 695 字,大约阅读时间需要 2 分钟。

在动态网站中,用户所有的请求,服务器都会去数据库中进行相应的增,删,查,改,渲染模板,执行业务逻辑,最后生成用户看到的页面.

当一个网站的用户访问量很大的时候,每一次的的后台操作,都会消耗很多的服务端资源,所以必须使用缓存来减轻后端服务器的压力.

缓存是将一些常用的数据保存内存或者memcache中,在一定的时间内有人来访问这些数据时,则不再去执行数据库及渲染等操作,而是直接从内存或memcache的缓存中去取得数据,然后返回给用户.

Django提供了6种缓存方式

开发调试缓存

内存缓存
文件缓存
数据库缓存
Memcache缓存(使用python-memcached模块)
Memcache缓存(使用pylibmc模块)
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载从而显著提供网站性能,也是django中到目前为止最有效率的可用缓存。

Memcached作为一个后台进程运行,并分配一个指定的内存量,它所做的全是提供一个添加,检索和删除缓存中任意数据的快速接口,所有的数据都是直接存储在内存中,所以就没有了数据库或者文件系统使用的额外开销了。

工作原理:(memcache使用了多线程机制,slab分配算法)

先检查客户端的请求数据是否在memcached中,如有,直接把请求数据返回,不再对数据库进行任何操作;如果请求的数据不在memcached中,就去查数据库,把从数据库中获取的数据返回给客户端,同时在 Memcached中存一份缓存。

转载于:https://blog.51cto.com/13963860/2174476

你可能感兴趣的文章
150809112 杨磊 学生管理系统
查看>>
C++培训:C语言链接表分析
查看>>
mono哪个版本可以支持.net4.5的程序,求大神告知
查看>>
Python学习笔记__12.7章 itertools
查看>>
linux系统日志
查看>>
企业防火墙的基础配置
查看>>
自然语言处理hanlp的入门基础
查看>>
Flask python框架web开发:零基础入门
查看>>
如何拿到activity log最新一条comments
查看>>
配置 Eureka Server 集群
查看>>
币氪研报lGxshare(GXS)
查看>>
安装zabbix时PHP ldap Warning
查看>>
关于在linux下清屏的几种技巧
查看>>
FTP
查看>>
glusterfs repo
查看>>
centos6.4 ceph安装部署之ceph object storage
查看>>
配置OSPF发布聚合路由
查看>>
NAT/NAPT
查看>>
好程序员分享做HTML5页面你要懂得这些
查看>>
Eclipse及其插件介绍和下载。
查看>>