Django的Cache框架(上)

前言

在Web开发中随处可见缓存的使用,在提供页面的响应时间,优化用户体验方面作用非常大。那么在Django中,应该如何使用Cache呢,这里进行简单的介绍。

Cache的作用

given a URL, try finding that page in the cache
if the page is in the cache:
    return the cached page
else:
    generate the page
    save the generated page in the cache (for next time)
    return the generated page

Django自带了一套健壮的Cache系统,可以简单的缓存动态页面,这样就不用每次都去查询数据库并进行页面渲染了。

同样的,这套Cache系统也提供了不同层级的缓存方式:你可以缓存页面、数据、甚至整个网站。

配置不同源的Cache

Memcached

  • 步骤1.

django.core.cache.backends.memcached.MemcachedCache配置到BACKEND中。

  • 步骤2. 配置Cache信息如下
CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
        'LOCATION': '127.0.0.1:11211',
    }
}

Database

  • 步骤1.

django.core.cache.backends.db.DatabaseCache配置到BACKEND中。

  • 步骤2. 配置Cache信息如下
CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.db.DatabaseCache',
        'LOCATION': 'my_cache_table',
    }
}

其中Location是数据库中Cache表的名字

在开始使用之前还需要运行以下的指令:

python manage.py createcachetable

Filesystem

  • 步骤1.

django.core.cache.backends.filebased.FileBasedCache配置到BACKEND中。

  • 步骤2. 配置Cache信息如下
CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache',
        'LOCATION': '/var/tmp/django_cache',
    }
}

Local-memory

  • 步骤1.

django.core.cache.backends.locmem.LocMemCache配置到BACKEND中。

  • 步骤2. 配置Cache信息如下
CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
        'LOCATION': 'unique-snowflake',
    }
}

相关阅读


相关推荐
  1. Python公开课 - Appium安装
  2. 代理技术详解 - HTTP代理,HTTPS代理及SOCKS 5代理
  3. 央媒聚焦!国庆假期173.78万人次打卡大美黄陂
  4. 青岛市四方区四流南路第一小学(青岛四流南路一小)
  5. 小鹰学本领
  6. 辽宁省大连市中山区USA未来之星双语幼儿园 - 大连幼儿园黄页
  7. 黄牛、毛驴、鸡和两夫妻的故事
  8. 长沙市第十六中学
  9. 奥迪客户不满加价,被武汉4S店销售群殴
  10. 重庆文德中学
  11. 乾隆密谋偷情书
  12. 魔法帽
  13. 渔夫和恶魔
  14. python3.5升级python3.6后出现 No module named apt_pkg 异常
  15. 会骂人的小白兔
  16. 中山市南朗翠亨小学
  17. 北京市广渠门中学
  18. 五桂山学校
  19. 湖北将发放消费券 - 武汉新鲜事
  20. 易中天给英雄武汉的一首诗 - 武汉新鲜事
  21. 古韵南京 - 二日游
  22. 半岁儿保检查什么 - 育儿经验
  23. 长沙市宁乡县大营乡高露小学
  24. Python公开课 - 多进程使用
  25. 沈阳市沈河区小鹿双语艺术幼儿园(恒信大厦西南) - 沈阳幼儿园黄页
  26. 合肥市南园新村学校(小学)
  27. 安徽省长丰县第一中学(长丰一中)
  28. 武安市石洞乡中学
  29. 湘潭市金庭小学
  30. 济南市师范学校附属小学
  31. 温江区公平街道中心幼儿园 - 成都市幼儿园黄页
  32. 春萌幼儿园 - 成都市幼儿园黄页
  33. Python语言的优点和缺点 - 深度剖析
  34. 脱单!武汉的相亲角在哪你知道吗?
  35. Python公开课 - 文件操作
  36. NumPy - 简明教程(中)
  37. 郑东新区实验学校
  38. 怎样减少新生儿黄疸 - 育儿经验
  39. NumPy - 简明教程(上)
  40. 惠州市宏业中英文学校(中学部)
  41. 南宁市兴宁区金贝贝幼儿园 - 南宁幼儿园黄页
  42. 武汉动物园火烈鸟孔雀排队打疫苗
  43. 上海市宝山区第二中心小学
  44. 温州市苍南县少年艺术学校
  45. 棉一幼儿园 - 石家庄幼儿园黄页
  46. 沈阳市东陵区南塔街小学
  47. 沈阳市第六十三中学
  48. 武汉女子网上做兼职被骗六十五万
  49. 武汉一女子七天被骗220万
  50. 鼓励诚实
  51. 大连市甘井子区 大连童歌幼儿园 - 大连幼儿园黄页
  52. 不治之症
  53. 小猫学本领
  54. 宁波国家高新区信懋学校小学部
  55. 广州市海珠区金彩虹幼儿园(总园) - 广州幼儿园黄页
  56. 魔罐
  57. 武汉推出越王勾践剑交通卡
  58. 武汉00后大二学妹拍视频月入七十万
  59. TCP报头格式的是什么?
  60. 中山市西区昌平小学