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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章