Django Cache缓存系统学习--数据库缓存
2024-10-11 05:06:39
Django是动态网站,用户每一次请求页面,服务器都会执行以下操作:数据库查询、渲染模版、执行业务逻辑,最后生成用户可查看的页面。当访问量比较大的时候,会消耗掉大量的资源,这时候就会考虑到缓存问题。
缓存系统的工作原理:
对于给定的网址,尝试从缓存中找到网址,如果页面在缓存中,直接返回缓存的页面,如果缓存中没有,一系列操作(比如查数据库)后,保存生成的页面内容到缓存系统以供下一次使用,然后返回生成的页面内容。
下面是一些伪代码,诠释了使用缓存之后,页面的访问情况:
given a URL, try finding that page in the cache
if the page is in the cache:
return the cached page
else:
generate the page
save the generated page in the cache (for next time)
return the generated page
缓存设置:
缓存系统需要少量的设置。 也就是说,你必须告诉它你的缓存数据应该存在哪里; 无论是在数据库中,在文件系统上还是直接在内存中。 这是影响缓存性能的重要决定。您的缓存首选项位于设置文件的CACHES设置文件中。
CACHES = {
'default': {
'BACKEND': 'xx ',
'LOCATION': 'xx',
}
}
数据库缓存是Django缓存中的一种,它将缓存数据存到数据库中。将数据库用作缓存后端:
将BACKEND设置为django.core.cache.backends.db.DatabaseCache
- 将LOCATION设置为表名,即数据库表的名称。 这个名称可以是任何你想要的,只要它是一个尚未在数据库中使用的有效表名即可。
在这个例子中,缓存表的名字是my_cache_table:
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.db.DatabaseCache',
'LOCATION': 'my_cache_table',
}
}
在使用数据库缓存之前,您必须使用以下命令创建缓存表:
python manage.py createcachetable 【my_cache_table】
未完待续。
最新文章
- Nginx 遇到的问题
- 【转载】ubuntu和debian环境下无法挂载vmware虚拟机共享目录的解决办法
- ElasticSearch实战使用
- Less 导入命令 @import
- lintcode 中等题:Singleton number II 落单的数 II
- PHP提取身份证号码中的生日并验证是否成年的函数
- 【HDOJ】2782 The Worm Turns
- poj2387-Til the Cows Come Home dijkstra获得水的问题
- Spring基于 Annotation 的简单介绍
- FasfDFS整合Java实现文件上传下载
- HTTP常用方法
- java中,字符串类型的时间数据怎样转换成date类型。
- Mysql的隔离级别
- POJ 2289 Jamie's Contact Groups 【二分】+【多重匹配】(模板题)
- 代码d17
- vue2.0 项目搭建 和vue 2.0 electron 项目搭建
- python路径相关操作
- Servlet交互与JSP
- C++(初学讲解):判断倍数
- php AES cbc模式 pkcs7 128位加密解密(微信小程序)
热门文章
- C# Json 和对象的相互转换
- fatal error: No such file or directory
- 将mnist获得的数据还原成图片形式
- Java程序国际化学习代码一
- dll导出函数的两种方式的比较
- 【原创】Mac book pro入手后,需要做哪些才能开始开展自动化测试工作
- 记录2-在mac上安装ubuntu 16.04 LTS
- RIDE创建工程和测试套件和用例--书本介绍的入门方法,自己整理实践下
- 【Python爬虫】01:网络爬虫--规则
- C# VS2017的.net Core1.0项目在版本升级为2.0后找不到程序集的处理办法