Forums / National / Russian / Расскажите в 2х словах как работает кеширование данных по $db_users

Alex300
#45707 2022-10-03 07:28

Вот тут https://github.com/Cotonti/Cotonti/blob/master/modules/users/inc/users.functions.php#L242 - достаточно примитивно.

Основная магия тут:

static $u_cache = array();

if ($cacheitem && isset($u_cache[$uid]))
{
	return $u_cache[$uid];
}
// ... получение данных пользователя и сохранение в $u_cache

Статическая переменная $u_cache сохраняет свое значение между вызывами функции. Если вы несколько раз вызовите ее для полученя данных одного и того же пользователя (за один запрос к серверу) то данные из БД будут запрошены только один раз.

В другом варианте наверное что то похожее.

Есть миры, не здесь, там, где небеса горят, и моря засыпают, и реки дремлют; люди сделаны из дыма, а города – из песен. Где-то опасность, где-то несправедливость, даже где-то остыл чай. Идем Эйс, у нас много работы!...
...Sorry for my english...
Бесплатные расширения для Cotonti: https://lily-software.com/free-scripts/