PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
DlTA
Отправлено: 28 Января, 2021 - 09:59:45
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2932
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




вопрос: как определить что данные кэша пора обновить?

пример: у меня хранятся список состояний заказа, этот список гружу из базы и пихаю в кэш.
обновить кэш нужно при изменении параметров в списке (название, текст в описании, текст письма, ...), КАК я могу узнать и быстро получить значение что пора обновить КЭШ???

обновление кэша по времени не интересно, уже работает так.
 
 Top
Мелкий Супермодератор
Отправлено: 28 Января, 2021 - 10:08:00
Post Id



Активный участник


Покинул форум
Сообщений всего: 11903
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 615 раз(а)




"в программировании есть только две сложные вещи: инвалидация кеша, выбор имени переменной, и ошибки на единицу" (Джефф Этвуд)

При обновлении данных сбрасывайте связанные с этими данными кэши. Возможно потребует порядком усилий для поиска всех мест, откуда изменения выполняются.


-----
PostgreSQL DBA
 
 Top
DlTA
Отправлено: 28 Января, 2021 - 11:03:31
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2932
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




то есть, измени данные в базе по данной таблице то все выборки где есть выборка из данной таблицы обнули

а есть что то, чтоб свой лесопед не лепить
нужно получить список таблиц в запросе, где-то хранить

но сомневаюсь что будет такое...
 
 Top
Lolya
Отправлено: 21 Февраля, 2021 - 11:05:44
Post Id


Забанен


Покинул форум
Сообщений всего: 58
Дата рег-ции: Май 2018  


Помог: 0 раз(а)

[+]


DlTA пишет:
а есть что то, чтоб свой лесопед не лепить
нужно получить список таблиц в запросе, где-то хранить


Удаление кеш-файла
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. define ('ROOT_PATH', dirname(dirname(__FILE__))."/");
  3. $rootpath = ROOT_PATH;
  4. $Blrelizs_cache = $rootpath."cache/relizs.cache";if(file_exists($Blrelizs_cache)){unlink($rootpath."cache/relizs.cache");}
  5.  

создание кеша у вас должно уже быть, если вы с ним работаете, у всех системы кеша разные.
Собственно пример:

Если нет кеша (отсутстует), то выполнить запрос ***. Иначе прочитать данные кеша.
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. $Blrelizs_cache = $rootpath."cache/relizs.cache";if(!file_exists($Blrelizs_cache)){
  3. // выполнить запрос на прочтение данных из базы
  4. }else
  5. // иначе считываем кеш вашей системой кеширования
  6.  


Разберетесь?
 
 Top
don.bidon
Отправлено: 24 Февраля, 2021 - 10:09:36
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Март 2019  


Помог: 0 раз(а)




DlTA пишет:
а есть что то, чтоб свой лесопед не лепить
нужно получить список таблиц в запросе, где-то хранить

Общедоступных open source решений не искал, поисковые системы в бан пока не попали же )
Надеюсь, модифицирующие даныые запросы строятся через какой-то query builder, тогда легче всего вонзиться в него.
 
 Top
DlTA
Отправлено: 26 Февраля, 2021 - 07:08:05
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2932
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




Lolya пишет:

Если нет кеша (отсутстует), то выполнить запрос ***. Иначе прочитать данные кеша.

это техника, это уже работает, вопрос в том когда кешу ОПА и пора делать новый

don.bidon пишет:
Общедоступных open source решений не искал, поисковые системы в бан пока не попали же )
это уже самопал, такое и самому слобать можно

don.bidon пишет:
Надеюсь, модифицирующие данные запросы строятся через какой-то query builder, тогда легче всего вонзиться в него.
зачем, все чисто запросами))
 
 Top
don.bidon
Отправлено: 04 Марта, 2021 - 14:02:37
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Март 2019  


Помог: 0 раз(а)




DlTA пишет:

don.bidon пишет:
Общедоступных open source решений не искал, поисковые системы в бан пока не попали же )
это уже самопал, такое и самому слобать можно

don.bidon пишет:
Надеюсь, модифицирующие данные запросы строятся через какой-то query builder, тогда легче всего вонзиться в него.
зачем, все чисто запросами))

Тогда парсите каждый sql руками на предмет модифицирующих запросов интересуемых таблиц и сбрасывайте данные, зависящие от них. С query builder-ом было бы проще.
Заранее похихикаю, если у Вас в коде нет обёртки хотя бы поверх $dbh =
mysqli_connect(...).
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB