Вы можете фильтровать массив ( array_filter ):
$output = array_filter($haystack, function ($v) use ($needle) {
return in_array($v, $needle);
});
решение tghw на самом деле не работает, потому что ключ кэширования - это НЕ абсолютный путь. Ключ вычисляется из абсолютного пути и заголовков HTTP. Смотрите этот вопрос для примера.
Я не сделал большого кэширования с Django, но я думаю, что Вы хотите, вот signals
.
Можно настроить a post_save
сигнал на основном объекте, и имеет функцию обратного вызова, делают недействительным ту страницу в кэше.
from django.core.signals import post_save
from django.core.cache import cache
def invalidate_cache(sender, **kwargs):
# invalidate cache
cache.delete(sender.get_absolute_url()) # or any other pertinent keys
post_save.connect(invalidate_cache, sender=UnderlyingModel)
Это должно правильно удалить объект из кэша, когда он обновляется.