Django Cache缓存系统学习--数据库缓存
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】
未完待续。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具