赞
踩
CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.dummy.DummyCache', # 引擎 'TIMEOUT': 300, # 缓存超时时间(默认300,None表示永不过期,0表示立即过期) 'OPTIONS':{ 'MAX_ENTRIES': 300, # 最大缓存个数(默认300) 'CULL_FREQUENCY': 3, # 缓存到达最大个数之后,剔除缓存个数的比例,即:1/CULL_FREQUENCY(默认3) }, } }
CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache', 'LOCATION': [ '172.19.26.240:11211', '172.19.26.242:11211', '172.19.26.244:11213', ] } } 2.此缓存使用pylibmc模块连接memcache CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.memcached.PyLibMCCache', 'LOCATION': [ '172.19.26.240:11211', '172.19.26.242:11211', ] } } 不足:缓存完全在内存中,一旦服务器崩溃,所有的数据将不复存在
3.数据库缓存 使用数据库缓存,需要在数据库中建立一个用于缓存的数据库表
python manage.py createcachetable [cache_table_name] CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.db.DatabaseCache', 'LOCATION': 'my_cache_table', } 数据库缓存使用的是你配置文件中的数据库,(如DATABASES中是mysql,缓存使用的就是mysql数据库)
CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache', 'LOCATION': '/var/tmp/django_cache', #'LOCATION': 'c:/foo/bar',#windows下的示例 } } LOCATION设置为缓存所在的位置,注意是绝对位置同时必须保证服务器对列出的路径具有读写权限
CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'LOCATION': 'unique-snowflake' } } LOCATION用来区分每个内存存储,如果只有一个本地内存缓存,你可以忽略这个设置 不足:每个进程都有自己的私有缓存实例,本地内存缓存效率不是特别高,建议只是在内部开发测时使用
如使用redis缓存: 1.安装 pip install django-redis 2.在stting中配置CACHES,可以设置多个缓存,根据名字使用 CACHES = { "default": { "BACKEND": "django_redis.cache.RedisCache", "LOCATION": "redis://127.0.0.1:6379", "OPTIONS": { "CLIENT_CLASS": "django_redis.client.DefaultClient", "CONNECTION_POOL_KWARGS": {"max_connections": 100} # "PASSWORD": "密码", } } }, #另添加缓存 "JERD": { } 3.根据名字去连接池中获取连接 from django_redis import get_redis_connection conn = get_redis_connection("default")
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。