у django есть кэш на основе памяти или вы должны использовать memcache - PullRequest
2 голосов
/ 17 июня 2010

Могу ли я хранить объекты в памяти сервера для кэширования данных с использованием django, или для этого нужно использовать memcache?

Ответы [ 2 ]

3 голосов
/ 17 июня 2010

Существует множество вариантов, включая использование памяти сервера :

  • Memcached
  • Кэширование базы данных
  • Кэширование файловой системы
  • Кэширование в локальной памяти
  • Фиктивное кэширование (для разработки)
  • Использование пользовательского бэкэнда кэша

Чтобы использовать память сервера, в settings.py, вы должны установить бэкэнд кеша следующим образом:

CACHE_BACKEND = 'locmem://'

См. следующую страницу в документации Django для получения дополнительной информации о различных бэкэндах кеша и подробностей о том, как включить кеширование: http://docs.djangoproject.com/en/dev/topics/cache/

1 голос
/ 12 ноября 2011

Django допускает много типов кэширования, таких как файловая система и кэширование в локальной памяти. При кэшировании в локальной памяти каждый процесс имеет свой собственный экземпляр частного кэша, что означает, что межпроцессное кэширование невозможно, поскольку они существуют в разных виртуальных запоминающих устройствах. Следовательно, локальное кэширование памяти неэффективно для производственных сред.

Memcache предпочтительнее, потому что он решает эту проблему и работает очень быстро, так как работает на оперативной памяти. Джанго признает, что Memcache является самым быстрым на своем сайте.

Memcache также бесплатен и прост в установке (sudo apt-get install memcached). Вам также нужно что-то, чтобы связать python с Memcache, например python-memcached.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...