CACHES = {
# memcached缓存
'default': {
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION': [
'172.19.26.240:11211',
'172.19.26.242:11211',
]
# 我们也可以给缓存机器加权重,权重高的承担更多的请求,如下
'LOCATION': [
('172.19.26.240:11211',5),
('172.19.26.242:11211',1),
]
},
# redis缓存
"redis": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": redis://127.0.0.1:6379/1,
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
"PICKLE_VERSION": -1, # Use the latest protocol version
"SOCKET_CONNECT_TIMEOUT": 3, # set connection time out in seconds
"SOCKET_TIMEOUT": 3, # operation timeout in seconds
"CONNECTION_POOL_KWARGS": {"max_connections": 100},
"COMPRESSOR": "django_redis.compressors.zlib.ZlibCompressor",
}
},
# 数据库缓存
'database': {
'BACKEND': 'django.core.cache.backends.db.DatabaseCache',
'LOCATION': 'my_cache_table',
},
# 文件缓存
'files': {
'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache',
'LOCATION': '/var/tmp/django_cache',#这个是文件夹的路径
#'LOCATION': 'c:\foo\bar',#windows下的示例
},
# 本地内存缓存
'memory': {
'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'LOCATION': 'unique-snowflake'
}
}
使用
from django.core.cache import cache, caches
memcached = cache # 置文件CACHE内defaul所使用的缓存对象
redis = caches['redis'] # 置文件CACHE内redis所使用的缓存对象
database = caches['database']
files = caches['file']
memory = cache['memory']
memcache.set()
memcache.get()
...
...