Django緩存筆記

設置緩存

  • 數據庫緩存
  • 文件緩存
  • 內存緩存 如: Memcached

Memcached

使用

模塊python-memcached和模塊pylibmc

更改setting 文件的CACHES 配置

將 BACKEND 設置爲django.core.cache.backends.memcached.MemcachedCache 或者 django.core.cache.backends.memcached.PyLibMCCache (取決於你所選綁定memcached的方式)

將 LOCATION 設置爲 ip:port 值,ip 是 Memcached 守護進程的ip地址, port 是Memcached 運行的端口。或者設置爲 unix:path 值,path 是 Memcached Unix socket file的路徑.

數據庫緩存

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.db.DatabaseCache',
        'LOCATION': 'my_cache_table',
    }
}

執行python manage.py createcachetable

文件系統緩存

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache',
        'LOCATION': '/var/tmp/django_cache',
    }
}

API

from django.core.cache import caches
cache1 = caches['myalias']
cache2 = caches['myalias']
cache1 is cache2
from django.core.cache import cache
#相當於caches['default']

在Django 1.7之前,這個函數是獲取緩存實例的規範方式。它也可以用於創建具有不同配置的新緩存實例。

from django.core.cache import get_cache
get_cache('default')
get_cache('django.core.cache.backends.memcached.MemcachedCache', LOCATION='127.0.0.2')
get_cache('default', TIMEOUT=300)
發佈了39 篇原創文章 · 獲贊 4 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章