缓存对于伺服器的好处,在于使用者会将数据加载到内存,减少了对资料库的访问
终端输入
python manage.py createcachetable my_cache_table
在setting.py中添加caches
CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.db.DatabaseCache', 'LOCATION': 'my_cache_table', }}
两种写法
手动写快取,一开始先判断有没有这个快取名称('index'),有就使用快取资料,没有就去加载资料,这边使用time.sleep(5)来假装资料要存取很久的时间,cache.set里面的timeout表示它会记得快取30秒
def index(request): if cache.get('index'): return HttpResponse(cache.get('index')) time.sleep(5) response = render(request, 'index.html') cache.set('index', response, timeout=30) return response
另一种简单的多,就加个@cache_page()
from django.views.decorators.cache import cache_page@cache_page(30)def index(request): time.sleep(5) return render(request, 'index.html')
还有很多快取的方法,快取可以同时用不同种的,如果想更深入研究的,redis可以看看