Я использую кеширование представления для проекта django.Очистка определенного кеша в Django
В нем говорится, что кеш использует URL-адрес в качестве ключа, поэтому мне интересно, как очистить кеш одного из ключей, если пользователь обновляет/удаляет объект.
Пример: Пользователь отправляет сообщение в блоге domain.com/post/1234/
.. Если пользователь редактирует это, я хотел бы удалить кешированную версию этого URL-адреса, добавив в конце представления некоторую команду удаления кеша, которая сохраняет отредактированный пост.
Я использую:
@cache_page(60 * 60)
def post_page(....):
Если post.id 1234, кажется, что это может работать, но это не так:
def edit_post(....):
# stuff that saves the edits
cache.delete('/post/%s/' % post.id)
return Http.....
Я думаю, что ключи вы используете неверны. Вы можете попробовать использовать [этот скрипт] (http://simple-and-basic.com/2008/10/list-memcached-keys.html) на сервере memcached, чтобы перечислить ключи. После того, как у вас есть соответствующий ключ, попробуйте снова использовать метод cache.delete (key). – stephenmuss
Вот ссылка на обновленные документы кэш-памяти django: [Django Caches] (https://docs.djangoproject.com/en/1.9/topics/cache/#django-s-cache-framework) – turtlefranklin