Я создаю приложение, которое использует Flashdata для отображения сообщений пользователю после определенных действий - например, «Элемент успешно удален» и т. Д. Я также использую кэширование запросов базы данных CodeIgniter для того, чтобы кэшировать определенные запросы, пока я не аннулирую их.
После редактирования элемента я установил в сообщении Flashdata сообщение «Элемент отредактирован». Затем я redirect()
перехожу к представлению «Все элементы», в котором отображается сообщение Flashdata. Однако это сообщение Flashdata сохраняется даже после перезагрузки страницы . Единственный способ заставить его исчезнуть - это очистить каталог application/cache
.
Есть ли какой-нибудь разумный способ переопределить механизм кэширования, чтобы не кэшировать Flashdata? Я нашел это - http://codeigniter.com/wiki/No_Flash_Cache - но, похоже, это очень старое решение для CI 1.7. В любом случае, я попробовал, но по какой-то причине CI не хотел переопределять приватную функцию _write_cache()
- она все равно прекрасно переопределяла бы все остальное ... (Правка: теперь это осознали (если кто-то не скажет мне иначе) ), который влияет только на кэширование вывода, но не на кэширование базы данных)
Заранее спасибо!