如何在Django中缓存一小段信息

时间:2015-04-01 12:49:59

标签: python django caching

我有一个向用户提供问题列表的网站。这组问题对所有用户都是一样的。我将这些问题存储在文本文件中。服务器运行时,此文件的内容不会更改。

我无法使用静态页面来显示这些问题,因为我有一些逻辑来决定何时显示哪个问题。

我想将这些问题缓存在内存中(而不是每次用户连接时都从硬盘驱动器中读取文件)。我正在使用Django 1.7。

我读过关于Django网站的缓存,我认为建议的方法(如memcached和数据库)对我的需求来说太重了。对我的情况有什么好处?使用全局变量?

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用https://docs.djangoproject.com/en/1.7/topics/cache/

中列出的缓存后端

我没有尝试过自己的文件系统或本地内存缓存,我总是需要memcached,但看起来它们可用,其余的都是小菜一碟!

from django.core import cache

cache_key = 'questions'
questions = cache.cache.get(cache_key) # to get
if questions:
  # use questions you fetched from cache
else:
  questions = { 'question1': 'How are you?'} #Something serializable that has your questions
  cache.cache.set(cache_key, questions)