django有基于内存的缓存还是你必须使用memcache?

时间:2010-06-17 15:40:27

标签: django caching

我可以将对象存储在服务器内存中以使用django缓存数据,还是必须使用memcache?

2 个答案:

答案 0 :(得分:3)

有多种选择,包括使用server's memory

  • Memcached的
  • 数据库缓存
  • 文件系统缓存
  • 本地内存缓存
  • 虚拟缓存(用于开发)
  • 使用自定义缓存后端

要使用服务器的内存,请在settings.py中设置缓存后端,如下所示:

CACHE_BACKEND = 'locmem://'

有关各种缓存后端的详细信息以及有关如何启用缓存的详细信息,请参阅Django文档中的以下页面:http://docs.djangoproject.com/en/dev/topics/cache/

答案 1 :(得分:1)

Django允许许多类型的缓存,例如文件系统和本地内存缓存。在本地内存缓存中,每个进程都有自己的私有缓存实例,这意味着不可能进行跨进程缓存,因为它们存在于不同的虚拟内存中。因此,本地内存缓存对于生产环境来说效率不高。

Memcache是​​首选,因为它解决了这个问题,并且在RAM上运行时非常快。 Django承认Memcache在其网站上速度最快。

Memcache也是免费且易于安装的(sudo apt-get install memcached)。你还需要一些东西将python绑定到Memcache,比如python-memcached。