(转)django 设置 数据库缓存
最近博客增加了许多新功能,访问速度有所下降,在国内某搜索引擎上查找的时候看到了这篇文字,简单明了,所以转发过来,虽不是原创但是希望能够帮助更多的朋友。
Django 官方缓存系统介绍:
https://docs.djangoproject.com/en/1.8/to...
配置cache方式及内部实现机制:
django中cache大体分为三种,即针对全站的缓存配置、针对视图的缓存配置、针对数据的缓存配置。本站采用数据库+全站缓存。
1.设置缓存,在settings.py添加
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.db.DatabaseCache',
'LOCATION': 'my_cache_table', # 要缓存的表名
'TIMEOUT': 600, # 默认的缓存有效时间,以秒计. 默认值是 300 秒(五分钟).
'OPTIONS': {
'MAX_ENTRIES': 1000 # 缓存的最大条目数(超出该数旧的缓存会被清除,默认值是 300).
}
}
}
2.创建缓存表
python manage.py createcachetable
3.缓存整个站点
设置了缓存类型之后, 最简单使用缓存的方式就是缓存整个站点.
在MIDDLEWARE_CLASSES
设置中添加 django.middleware.cache.CacheMiddleware
, 就象下面的例子一样:
MIDDLEWARE_CLASSES = (
'django.middleware.cache.UpdateCacheMiddleware', # 注意位置,在前
'django.middleware.common.CommonMiddleware',
'django.middleware.cache.FetchFromCacheMiddleware', # 注意位置,在后
)
4.在settings.py添加CACHE_MIDDLEWARE_SECONDS :每个页面应该被缓存的秒数。
CACHE_MIDDLEWARE_SECONDS = 500 # 每个页面应该被缓存的秒数
5.重启django,就可以体验缓存了。
笨鸟先飞
笨鸟先飞
300 声望
7 粉丝
推荐阅读
django中 实现向带有外键(一对多和多对多)数据库中批量插入数据
models模型中有文章主表DetailInfo、文章分类表Types、文章资源表ResourcesLink,有一对多和多对多的关系。1、models.py: {代码...} 2、json数据格式 {代码...} 3.实现批量插入数据 {代码...}
xiaomayi2012阅读 2.3k
基于Sanic的微服务基础架构
使用python做web开发面临的一个最大的问题就是性能,在解决C10K问题上显的有点吃力。有些异步框架Tornado、Twisted、Gevent 等就是为了解决性能问题。这些框架在性能上有些提升,但是也出现了各种古怪的问题难以...
jysong赞 6阅读 3.9k评论 3
滚蛋吧,正则表达式!
你是不是也有这样的操作,比如你需要使用「电子邮箱正则表达式」,首先想到的就是直接百度上搜索一个,然后采用 CV 大法神奇地接入到你的代码中?
良许赞 4阅读 2.2k
又一款眼前一亮的Linux终端工具!
今天给大家介绍一款最近发现的功能十分强大,颜值非常高的一款终端工具。这个神器我是在其他公众号文章上看到的,但他们都没把它的强大之处介绍明白,所以我自己体验一波后,再向大家分享自己的体验。
良许赞 5阅读 1.8k
FastAPI性能碾压Flask?
不止一次的听过,FastAPI性能碾压Flask,直追Golang,不过一直没有测试过,今天闲着没事测试一下看看结果。不知道是哪里出了问题,结果大跌眼镜。
二毛erma0赞 2阅读 10.1k评论 3
Python之如何优雅的重试
为了避免偶尔的网络连接失败,需要加上重试机制,那么最简单的形式就是在对应的代码片段加一个循环,循环体里使用异常捕获,连接成功时退出循环,否则就重复执行相关逻辑,此时修改之后的函数f如下
Harpsichord1207赞 3阅读 7.3k
Linux终端居然也可以做文件浏览器?
大家好,我是良许。在抖音上做直播已经整整 5 个月了,我很自豪我一路坚持到了现在【笑脸】最近我在做直播的时候,也开始学习鱼皮大佬,直播写代码。当然我不懂 Java 后端,因此就写写自己擅长的 Shell 脚本。但...
良许赞 1阅读 2.1k
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。