Django 缓存、信号
2017-02-07 11:39
274 查看
Reference: http://www.cnblogs.com/lianzhilei/p/6365877.html
缓存
由于Django是动态网站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用:缓存,缓存将一个某个views的返回值保存至内存或者memcache中,5分钟内再有人来访问时,则不再去执行view中的操作,而是直接从内存或者Redis中之前缓存的内容拿到,并返回Django中提供了6种缓存方式:
开发调试
内存
文件
数据库
Memcache缓存(python-memcached模块、pylibmc模块)
1、配置
① 开发配置
文件
④ 数据库配置
数据库
⑤ Memcache缓存(python-memcached模块)
python-memcached模块
⑥ Memcache缓存(pylibmc模块)
pylibmc模块
2、应用
① 全站使用
cache.html
配置文件:
settings.py
处理文件:
配置文件:
settings.py
其余文件都一致,全局优先级大;请求流程-->使用中间件,经过一系列的认证等操作,如果内容在缓存中存在,则使用FetchFromCacheMiddleware获取内容并返回给用户,如果不存在则接着往下走,执行views函数,最后经过UpdateCacheMiddleware会将缓存保存至缓存,从而实现全站缓存
信号
Django中提供了“信号调度”,用于在框架执行操作时解耦。通俗来讲,就是一些动作发生的时候,信号允许特定的发送者去提醒一些接受者1、Django内置信号
内置信号调用
2、内置信号注册函数
对于内置的信号,使用时需要在信号中注册执行函数,当程序执行相应操作时,自动触发注册函数:
创建文件sg.py并注册函数:
3、自定义信号
定义信号:
相关文章推荐
- 自动化运维Python系列之Django信号、缓存操作
- Django--缓存、信号、序列化
- django--缓存,序列化,信号
- Django(信号,缓存,序列化,与性能有关数据库查询)
- 31.Django缓存和信号
- Django进阶之缓存和信号
- django的cookie和session以及内置信号、缓存
- Python开发【Django】:缓存、信号
- Django之中间件、缓存以及信号
- Django(七)缓存、信号、Form
- Django 补充models操作,中间件, 缓存,信号,分页
- django form表单插件,中间件,缓存,信号
- django中的信号
- django 发送邮件和缓存的实现代码
- python,day22-Django之Form组件,信号
- DJANGO GET和FILTER FILTER缓存问题
- Django进阶(路由系统、中间件、缓存、Cookie和Session、Ajax发送数据
- Django-缓存的配置
- Django框架下在URLconf中指定视图缓存的方法
- django flask缓存memcache的key生成方法介绍