设置缓存
- 数据库缓存
- 文件缓存
- 内存缓存 如: Memcached
Memcached
使用
模块python-memcached和模块pylibmc
更改setting 文件的CACHES 配置
将 BACKEND 设置为django.core.cache.backends.memcached.MemcachedCache
或者 django.core.cache.backends.memcached.PyLibMCCache
(取决于你所选绑定memcached的方式)
将 LOCATION 设置为 ip:port 值,ip 是 Memcached 守护进程的ip地址, port 是Memcached 运行的端口。或者设置为 unix:path 值,path 是 Memcached Unix socket file的路径.
数据库缓存
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.db.DatabaseCache',
'LOCATION': 'my_cache_table',
}
}
执行python manage.py createcachetable
文件系统缓存
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache',
'LOCATION': '/var/tmp/django_cache',
}
}
API
from django.core.cache import caches
cache1 = caches['myalias']
cache2 = caches['myalias']
cache1 is cache2
from django.core.cache import cache
#相当于caches['default']
在Django 1.7之前,这个函数是获取缓存实例的规范方式。它也可以用于创建具有不同配置的新缓存实例。
from django.core.cache import get_cache
get_cache('default')
get_cache('django.core.cache.backends.memcached.MemcachedCache', LOCATION='127.0.0.2')
get_cache('default', TIMEOUT=300)