Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: кэширование, когда обновлять кэш?
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
вопрос: как определить что данные кэша пора обновить?
пример: у меня хранятся список состояний заказа, этот список гружу из базы и пихаю в кэш.
обновить кэш нужно при изменении параметров в списке (название, текст в описании, текст письма, ...), КАК я могу узнать и быстро получить значение что пора обновить КЭШ???
обновление кэша по времени не интересно, уже работает так.
Мелкий
Отправлено: 28 Января, 2021 - 10:08:00
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
"в программировании есть только две сложные вещи: инвалидация кеша, выбор имени переменной, и ошибки на единицу" (Джефф Этвуд)
При обновлении данных сбрасывайте связанные с этими данными кэши. Возможно потребует порядком усилий для поиска всех мест, откуда изменения выполняются.
----- PostgreSQL DBA
DlTA
Отправлено: 28 Января, 2021 - 11:03:31
Постоянный участник
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
то есть, измени данные в базе по данной таблице то все выборки где есть выборка из данной таблицы обнули
а есть что то, чтоб свой лесопед не лепить
нужно получить список таблиц в запросе, где-то хранить
но сомневаюсь что будет такое...
Lolya
Отправлено: 21 Февраля, 2021 - 11:05:44
Гость
Покинул форум
Сообщений всего: 69
Дата рег-ции: Май 2018
Помог: 2 раз(а)
DlTA пишет:
а есть что то, чтоб свой лесопед не лепить
нужно получить список таблиц в запросе, где-то хранить
Покинул форум
Сообщений всего: 78
Дата рег-ции: Март 2019
Помог: 2 раз(а)
DlTA пишет:
а есть что то, чтоб свой лесопед не лепить
нужно получить список таблиц в запросе, где-то хранить
Общедоступных open source решений не искал, поисковые системы в бан пока не попали же )
Надеюсь, модифицирующие даныые запросы строятся через какой-то query builder, тогда легче всего вонзиться в него.
DlTA
Отправлено: 26 Февраля, 2021 - 07:08:05
Постоянный участник
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
Lolya пишет:
Если нет кеша (отсутстует), то выполнить запрос ***. Иначе прочитать данные кеша.
это техника, это уже работает, вопрос в том когда кешу ОПА и пора делать новый
don.bidon пишет:
Общедоступных open source решений не искал, поисковые системы в бан пока не попали же )
это уже самопал, такое и самому слобать можно
don.bidon пишет:
Надеюсь, модифицирующие данные запросы строятся через какой-то query builder, тогда легче всего вонзиться в него.
зачем, все чисто запросами))
don.bidon
Отправлено: 04 Марта, 2021 - 14:02:37
Гость
Покинул форум
Сообщений всего: 78
Дата рег-ции: Март 2019
Помог: 2 раз(а)
DlTA пишет:
don.bidon пишет:
Общедоступных open source решений не искал, поисковые системы в бан пока не попали же )
это уже самопал, такое и самому слобать можно
don.bidon пишет:
Надеюсь, модифицирующие данные запросы строятся через какой-то query builder, тогда легче всего вонзиться в него.
зачем, все чисто запросами))
Тогда парсите каждый sql руками на предмет модифицирующих запросов интересуемых таблиц и сбрасывайте данные, зависящие от них. С query builder-ом было бы проще.
Заранее похихикаю, если у Вас в коде нет обёртки хотя бы поверх $dbh =
mysqli_connect(...).
Lolya
Отправлено: 14 Марта, 2021 - 11:45:54
Гость
Покинул форум
Сообщений всего: 69
Дата рег-ции: Май 2018
Помог: 2 раз(а)
DlTA пишет:
это техника, это уже работает, вопрос в том когда кешу ОПА и пора делать новый
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
Lolya пишет:
Сбрасывалку кеша не пробовали сделать в файл подтверждения действия - редактирования, удаления и что там еще у вас...
CODE (htmlphp):
скопировать код в буфер обмена
"в программировании есть только две сложные вещи: инвалидация кеша, выбор имени переменной, и ошибки на единицу" (Джефф Этвуд)
При обновлении данных сбрасывайте связанные с этими данными кэши. Возможно потребует порядком усилий для поиска всех мест, откуда изменения выполняются.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.