Django 支持的缓存类型
- 内存(local-memory caching)
- 文件(FileSystem caching)
- 数据库(Database caching)
- Memcache缓存
配置缓存
内存缓存
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'LOCATION': 'unique-snowflake',
}
}
文件缓存
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache',
'LOCATION': '/var/tmp/django_cache',
}
}
数据库缓存
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.db.DatabaseCache',
'LOCATION': 'my_cache_table',
}
}
创建缓存表:
python manage.py createcachetable
Memcache缓存
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION': '127.0.0.1:11211',
}
}
缓存使用
全站缓存
MIDDLEWARE = [
'django.middleware.cache.UpdateCacheMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.cache.FetchFromCacheMiddleware',
]
视图缓存
from django.views.decorators.cache import cache_page
@cache_page(60 * 15)
def my_view(request):
...
模板缓存
{% load cache %}
{% cache 500 sidebar %}
.. sidebar ..
{% endcache %}
底层缓存API
from django.core.cache import cache
cache.set('my_key', 'hello, world!', 30)
cache.get('my_key')

评论
评论功能暂未开放。