Я разработал сайт Django. Между экземплярами моделей в базе данных и страницами на сайте существует почти однозначное отношение.
Я бы хотел кэшировать каждую страницу на сайте (используя memcached в качестве фоновой части кэша). Сайт не так уж велик - согласно подсчетам с обратной стороны конверта, все это должно уместиться в довольно небольшой объем ОЗУ - и данные не изменяются особенно часто, поэтому весь сайт может эффективно функционировать в кеше.
Однако, когда данные действительно меняются, я хочу, чтобы кеш отражал это немедленно, поэтому в идеале мне бы хотелось, чтобы каждый экземпляр модели мог очищать свою собственную страницу из кеша при сохранении.
То, как я себе это представлял, - это кэширование страниц с их URL-адресом в качестве ключа. Затем каждый экземпляр модели может использовать свой URL (который он знает через get_absolue_url()
), чтобы очистить свою страницу из кэша.
Можно ли заставить механизм кэширования Django для каждого сайта использовать URL-адреса страниц в качестве ключа кэширования?