Django的Cache框架(上)
前言
在Web开发中随处可见缓存的使用,在提供页面的响应时间,优化用户体验方面作用非常大。那么在Django中,应该如何使用Cache呢,这里进行简单的介绍。
Cache的作用
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
Django自带了一套健壮的Cache系统,可以简单的缓存动态页面,这样就不用每次都去查询数据库并进行页面渲染了。
同样的,这套Cache系统也提供了不同层级的缓存方式:你可以缓存页面、数据、甚至整个网站。
配置不同源的Cache
Memcached
- 步骤1.
将django.core.cache.backends.memcached.MemcachedCache
配置到BACKEND
中。
- 步骤2. 配置Cache信息如下
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION': '127.0.0.1:11211',
}
}
Database
- 步骤1.
将django.core.cache.backends.db.DatabaseCache
配置到BACKEND
中。
- 步骤2. 配置Cache信息如下
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.db.DatabaseCache',
'LOCATION': 'my_cache_table',
}
}
其中Location是数据库中Cache表的名字
在开始使用之前还需要运行以下的指令:
python manage.py createcachetable
Filesystem
- 步骤1.
将django.core.cache.backends.filebased.FileBasedCache
配置到BACKEND
中。
- 步骤2. 配置Cache信息如下
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache',
'LOCATION': '/var/tmp/django_cache',
}
}
Local-memory
- 步骤1.
将django.core.cache.backends.locmem.LocMemCache
配置到BACKEND
中。
- 步骤2. 配置Cache信息如下
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'LOCATION': 'unique-snowflake',
}
}
相关阅读
展开剩余53%