⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

Django缓存入门

学习如何使用Django的缓存框架来提升网站性能,包括配置、使用和常见策略。 · 难度:入门 · +15XP

Django缓存框架

缓存是减少数据库查询和提升页面响应速度的关键技术。Django提供了一个灵活的缓存框架,支持多种后端,如内存缓存、文件缓存、数据库缓存和Memcached。

配置缓存后端

settings.py 中使用 CACHES 字典配置。例如,使用本地内存缓存:

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
        'LOCATION': 'unique-snowflake',
    }
}

缓存API

核心函数:cache.set(key, value, timeout)cache.get(key)。timeout单位为秒,默认300秒。

from django.core.cache import cache

# 存储数据 cache.set('my_key', 'hello', 60)

# 获取数据 value = cache.get('my_key') # 返回 'hello' 或 None

缓存视图

使用装饰器 @cache_page 缓存整个视图输出。

from django.views.decorators.cache import cache_page

@cache_page(60 * 15) # 缓存15分钟 def my_view(request): # ... 耗时操作 return render(request, 'template.html', context)

缓存粒度对比

粒度方法适用场景
全站中间件静态内容为主的网站
视图装饰器单个视图结果不变
片段模板标签部分动态内容
低级APIcache.set/get自定义数据缓存

练习提示

修改下方代码:在 current_time 视图中使用 cache_page 装饰器,缓存时间为60秒。观察每次刷新页面时时间是否变化。

Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 189 篇
0 完成
🔥 0