Кэширование с django довольно просто,
from django.core.cache import cache
key = 'some-key'
data = cache.get(key)
if data is None:
# soupify the page and what not
cache.set(data, key, 60*60*8)
return render_to_response ...
return render_to_response
Чтобы ответить на ваши вопросы, вы можете сделать это асинхронно, но тогда вам придется использовать что-то вроде django cron для обновления кеша очень часто. С другой стороны, вы можете написать это как отдельный скрипт на python, заменить кэш, импортированный из django, на memcache, и он будет работать так же. Это уменьшит некоторые проблемы с производительностью, которые могут возникнуть на вашем сайте, и, пока вы знаете ключ кеша, вы можете извлекать данные из кеша.
Как сказал Джаррет, я прочту дополнительную информацию о кешировании django и memcache.