1. 程式人生 > >django 設定 資料庫快取

django 設定 資料庫快取

最近部落格增加了許多新功能,訪問速度有所下降,故啟用了django的資料庫全站快取。

Django 官方快取系統介紹:

https://docs.djangoproject.com/en/1.8/topics/cache/#database-caching

配置cache方式及內部實現機制:
    django中cache大體分為三種,即針對全站的快取配置、針對檢視的快取配置、針對資料的快取配置。本站採用資料庫+全站快取。

1.設定快取,在settings.py新增

  1. CACHES ={
  2. 'default':{
  3. 'BACKEND':'django.core.cache.backends.db.DatabaseCache'
    ,
  4. 'LOCATION':'my_cache_table',# 要快取的表名
  5. 'TIMEOUT':600,# 預設的快取有效時間,以秒計. 預設值是 300 秒(五分鐘).
  6. 'OPTIONS':{
  7. 'MAX_ENTRIES':1000# 快取的最大條目數(超出該數舊的快取會被清除,預設值是 300).
  8. }
  9. }
  10. }

2.建立快取表

  1. python manage.py createcachetable

3.快取整個站點

設定了快取型別之後, 最簡單使用快取的方式就是快取整個站點. 

在``MIDDLEWARE_CLASSES`` 設定中新增 django.middleware.cache.CacheMiddleware , 就象下面的例子一樣:

  1. MIDDLEWARE_CLASSES =(
  2. 'django.middleware.cache.UpdateCacheMiddleware',# 注意位置,在前
  3. 'django.middleware.common.CommonMiddleware',
  4. 'django.middleware.cache.FetchFromCacheMiddleware',# 注意位置,在後
  5. )

4.在settings.py新增CACHE_MIDDLEWARE_SECONDS :每個頁面應該被快取的秒數。

  1. CACHE_MIDDLEWARE_SECONDS =500# 每個頁面應該被快取的秒數

5.重啟django,就可以體驗快取了。