Где применять кеширование?

Печать RSS
187


Господин ПЖ
0
на visavi.net к примеру в файл кешируются все счетчики которые на главной, вывод рекламы, быстрый переход, настройки сайта, вывод аватаров, статусов, никнэймов, даже браузер и IP а также счетчики внизу
На сайте: 23/49
4651 | 90320
С

Малиновые штаны
0
статус онлайн я так понял тоже кешируется так как иногда если заходишь на сайт, и как видишь свой пост на форуме, то можно увидеть офф вместо On
C
Автор
Малиновые штаны
0
Спасибо всемsmile вантуз, а как ты организовал кеширование статусов?

Господин ПЖ
0
13. ChipеR_есть чо7,
<?
function user_title($login) {

static $arrstat;

if (empty($arrstat)){
if (filemtime(DATADIR."temp/status.dat")<time()-3600){

$querylevel = DB::$dbh->query("SELECT `users`.`users_login`, `users`.`users_status`, `status`.`status_name`, `status`.`status_color`
FROM `users`, `status` WHERE `users`.`users_point` BETWEEN `status`.`status_topoint` AND `status`.`status_point`;");

$allstat = array();

while ($row = $querylevel->fetch()) {

if (!empty($row['users_status'])) {
$allstat[$row['users_login']] = '<span style="color:#ff0000">'.$row['users_status'].'</span>';
continue;
} 

if (!empty($row['status_color'])) {
$allstat[$row['users_login']] = '<span style="color:'.$row['status_color'].'">'.$row['status_name'].'</span>';
continue;
} 

$allstat[$row['users_login']] = $row['status_name'];
}

file_put_contents(DATADIR."temp/status.dat", serialize($allstat), LOCK_EX);
}

$arrstat = unserialize(file_get_contents(DATADIR."temp/status.dat"));
}

if (isset($arrstat[$login])) {$status = $arrstat[$login];} else {$status = 'Дух';}

return $status;
}
N

Эцилопп сией тентуры
0
sanzstez (16.06.10 / 00:49)
статус онлайн я так понял тоже кешируется так как иногда если заходишь на сайт, и как видишь свой пост на форуме, то можно увидеть офф вместо On
это не кеш...
я так понимаю просто стоит такая логика
if (time() > ($user_time+60*2)):
обновляем время последнего клика
endif;

2000 лет д.н.э.
0
14, как то не логично. Ты пишешь данные в файл, потом из этого же файла читаешь. Зачем из файла читать если данные уже получены?

Господин ПЖ
0
16. ramzes, смотри внимательнее, сперва все вычисления заносятся в файл там проверяется уникальный статус и есть ли цвет у обычного статуса, и потом запросов к базе уже нет в течении часа
Также весь массив держится в статистической переменной при обращении в цикле запрос к файлу всего один, а переменная в памяти
О

Землянин
0
Vantuz, ты во всех проектах используешь операцию с запятой? (вопрос, чисто, интересующийся)

Господин ПЖ
0
какую еще запятую? не понял
О

Землянин
0
FROM `users`, `status`
Имею ввиду аналог объединение JOIN (стандарт SQL 95/99)
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск