У меня отключено кэширование запросов (по умолчанию оно отключено в моей установке), но в моем приложении продолжали получать устаревшие данные. Например, я бы сделал SELECT *
для своей таблицы review
, вставил бы новую строку и затем сделал бы еще один SELECT *
, но новый обзор не появился бы (хотя он был бы там, если бы я перешел к таблице в phpMyAdmin
). Я отключил кэширование таблиц (table_cache = 0
), и все стало работать нормально, все новые обзоры отображаются на втором SELECT *
.
Документация MySQL гласит, что
Кеш запросов не возвращает устаревших
данные. Когда таблицы модифицируются, любой
соответствующие записи в кеше запросов
покраснели.
Разве это не верно и для кэша таблиц? Есть ли способ заставить MySQL использовать кэширование таблиц, но заставить его очищать кэш после изменения кэшированной таблицы? В документации 1016 *.
я не мог найти много интересного.