(轉)django 設置 數據庫緩存

最近博客增長了許多新功能,訪問速度有所降低,在國內某搜索引擎上查找的時候看到了這篇文字,簡單明瞭,因此轉發過來,雖不是原創可是但願可以幫助更多的朋友。html

Django 官方緩存系統介紹:python

https://docs.djangoproject.com/en/1.8/to...數據庫

配置cache方式及內部實現機制:django

django中cache大致分爲三種,即針對全站的緩存配置、針對視圖的緩存配置、針對數據的緩存配置。本站採用數據庫+全站緩存。

1.設置緩存,在settings.py添加緩存

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.db.DatabaseCache',
        'LOCATION': 'my_cache_table',  # 要緩存的表名
        'TIMEOUT': 600,                # 默認的緩存有效時間,以秒計. 默認值是 300 秒(五分鐘).
        'OPTIONS': {
            'MAX_ENTRIES': 1000        # 緩存的最大條目數(超出該數舊的緩存會被清除,默認值是 300).
        }
    }
}

2.建立緩存表搜索引擎

python manage.py createcachetable

3.緩存整個站點code

設置了緩存類型以後, 最簡單使用緩存的方式就是緩存整個站點. htm

MIDDLEWARE_CLASSES 設置中添加 django.middleware.cache.CacheMiddleware , 就象下面的例子同樣:blog

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

4.在settings.py添加CACHE_MIDDLEWARE_SECONDS :每一個頁面應該被緩存的秒數。索引

CACHE_MIDDLEWARE_SECONDS = 500   # 每一個頁面應該被緩存的秒數

5.重啓django,就能夠體驗緩存了。

轉自:http://www.opdev.cn/blog/article/73.html

相關文章
相關標籤/搜索