Kopusha |
|
---|---|
Собственно что хочу понять: и вот это - https://github.com/Cotonti/Cotonti/blob/master/modules/users/inc/users.functions.php#L242 как там кеширование устроено, я не очень понимаю. ПРостыми словами бы))) |
Alex300 |
|
||
---|---|---|---|
Вот тут https://github.com/Cotonti/Cotonti/blob/master/modules/users/inc/users.functions.php#L242 - достаточно примитивно. Основная магия тут:
Статическая переменная $u_cache сохраняет свое значение между вызывами функции. Если вы несколько раз вызовите ее для полученя данных одного и того же пользователя (за один запрос к серверу) то данные из БД будут запрошены только один раз. В другом варианте наверное что то похожее. Есть миры, не здесь, там, где небеса горят, и моря засыпают, и реки дремлют; люди сделаны из дыма, а города – из песен. Где-то опасность, где-то несправедливость, даже где-то остыл чай. Идем Эйс, у нас много работы!...
...Sorry for my english... Бесплатные расширения для Cotonti: https://lily-software.com/free-scripts/ |
Kopusha |
|
||||||
---|---|---|---|---|---|---|---|
По сути если мне надо выдернуть в разных местах/модулях/плагинах что то наподобии (что естественно коряво, но я это писал только изучая php и оно как бы работает, но отсутствие LIMIT 1 меня уже напрягает;-) )
мне лучше делать
|
Alex300 |
|
---|---|
Когда достаешь одно поле - не уверен. Но в целом да. Есть миры, не здесь, там, где небеса горят, и моря засыпают, и реки дремлют; люди сделаны из дыма, а города – из песен. Где-то опасность, где-то несправедливость, даже где-то остыл чай. Идем Эйс, у нас много работы!...
...Sorry for my english... Бесплатные расширения для Cotonti: https://lily-software.com/free-scripts/ |
Cotonti Aik |
|
||||
---|---|---|---|---|---|
Cotonti использует систему кеширования, чтобы ускорить работу сайта и уменьшить нагрузку на базу данных. Кеширование позволяет сохранять ответы на часто запрашиваемые запросы в памяти, чтобы не было необходимости выполнять их снова, когда они запрашиваются повторно. В Cotonti, кеширование данных из таблицы $db_users выполняется с помощью функции $db->query_cache(). Она принимает запрос к базе данных и имя файла кеша, в который будут сохранены результаты. Например:
При следующем вызове этой функции с тем же именем файла кеша, будут возвращены сохраненные ранее результаты запроса, вместо того чтобы выполнять запрос снова. Это ускоряет работу сайта, так как нет необходимости обращаться к базе данных при каждом запросе. Кеширование особенно полезно для таблиц, содержащих большое количество данных или часто запрашиваемых записей. Кеш также может быть настроен так, чтобы он автоматически обновлялся после определенного времени или при выполнении определенных действий, таких как изменение данных в таблице. Это позволяет удерживать кеш в актуальном состоянии, чтобы он всегда возвращал точные и актуальные данные. Вот пример того, как можно использовать функцию $db->query_cache() для кеширования результатов запроса к таблице $db_users:
В этом примере, если данные пользователя с id=123 уже есть в кеше, то они будут загружены из кеша, а не из базы данных. Если же данные не найдены в кеше, то будет выполнен запрос к базе данных, и результаты будут сохранены в кеш для последующих запросов. https://t.me/cotontiaik - Телега о Cotonti
|
Alex300 |
|
---|---|
Хм, интересно, и где же объявлен метод query_cache()? Может я что то упустил? Есть миры, не здесь, там, где небеса горят, и моря засыпают, и реки дремлют; люди сделаны из дыма, а города – из песен. Где-то опасность, где-то несправедливость, даже где-то остыл чай. Идем Эйс, у нас много работы!...
...Sorry for my english... Бесплатные расширения для Cotonti: https://lily-software.com/free-scripts/ |
Cotonti Aik |
|
||||
---|---|---|---|---|---|
#45833 Alex300: Добрый вечер, как я понял метод Этот метод может быть объявлен по примеру:
https://www.cotonti.com/system/lib/cotdb.php (The page you are looking for is unavailable for security reason.) Как вариант реализации метода
Проверяем есть ли сам файл, не стек ли тайминг файла, если все хорошо берем из кеше если нет то следовательно к БД. https://t.me/cotontiaik - Телега о Cotonti
|
|||||
Dit bericht is bewerkt door Cotonti Aik (2023-01-06 19:19, 2 jaren ago) |
Alex300 |
|
---|---|
Класс CotDb https://github.com/Cotonti/Cotonti/blob/master/system/database.php не содержит метода query_cache() и никогда его не содержал. И добавления этого метода в него не планируется. Работа с кешем в Cotonti устроена не много иначе. Просьба: не вводить людей в заблуждение. Есть миры, не здесь, там, где небеса горят, и моря засыпают, и реки дремлют; люди сделаны из дыма, а города – из песен. Где-то опасность, где-то несправедливость, даже где-то остыл чай. Идем Эйс, у нас много работы!...
...Sorry for my english... Бесплатные расширения для Cotonti: https://lily-software.com/free-scripts/ |
Cotonti Aik |
|
---|---|
#45835 Alex300: Прошу пощения ориентировался на свою которую переписал под себя Вы правы. https://t.me/cotontiaik - Телега о Cotonti
|