• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела killoff лично.

Помощь число пользователей и кеширование..

Статус
В этой теме нельзя размещать новые ответы.

eXcelsior

Постоялец
Регистрация
3 Авг 2008
Сообщения
53
Реакции
5
1. Версия ДЛЕ 7.5
2. Нуллид ТИМ
3.
Поставил хак..или мод.. кароче показывает сколько пользователей зарегистрировалось...

но при каждой загрузке 1 запрос!

вот содержимое мода -
Код:
<?php
if(!defined('DATALIFEENGINE')) {
	die("Hacking attempt!");
}

// Запрос "Всего пользователей"
$stats_users = get_vars("stats_users");
$row = $db->super_query("SELECT COUNT(*) as count FROM " . USERPREFIX . "_users");
$stats_users = $row['count'];
set_vars ("stats_users", $stats_users);
?>

можно ли его кешировать ... что бы обновлялся 1 раз в 4 часа..
 
PHP:
<?php
if(!defined('DATALIFEENGINE'))
{
  die("Hacking attempt!");
}

if(get_vars("memberlist_cron") > $_TIME - 432000) // 5 days
{
	$lastupdate = get_vars("memberlist_cron");
    $memberlist = get_vars("memberlist");
}
else
{

if (!$memberlist) {

= CODEHERE =

set_vars("memberlist_cron", $_TIME);
set_vars("memberlist", $memberlist);
}

?>

надеюсь, освоишь
 
простите конечно.. но как соеденить 2 кода этих?
 
Думаю что так

Код:
<?php
if(!defined('DATALIFEENGINE'))
{
  die("Hacking attempt!");
}

if(get_vars("memberlist_cron") > $_TIME - 432000) // 5 days
{
    $lastupdate = get_vars("memberlist_cron");
    $memberlist = get_vars("memberlist");
}
else
{

if (!$memberlist) {

// Запрос "Всего пользователей"
$stats_users = get_vars("stats_users");
$row = $db->super_query("SELECT COUNT(*) as count FROM " . USERPREFIX . "_users");
$stats_users = $row['count'];
set_vars ("stats_users", $stats_users);

set_vars("memberlist_cron", $_TIME);
set_vars("memberlist", $memberlist);
}

?>
 
PHP:
<?php
if(!defined('DATALIFEENGINE'))
{
  die("Hacking attempt!");
}

if(get_vars("stats_users_cron") > $_TIME - 432000) // 5 days
{
    $lastupdate = get_vars("stats_users_cron");
    $stats_users = get_vars("stats_users");
}
else
{

if (!$stats_users) {

$row = $db->super_query("SELECT COUNT(*) as count FROM " . USERPREFIX . "_users");
$stats_users = $row['count'];

$db->free();

set_vars("stats_users_cron", $_TIME);
set_vars("stats_users", $stats_users);
}

?>
 
Спасибо за помощь, НО не работает...

в варианте rider1203 ошибка в 27 строке
в варианте Demon425 в 26 ...
 
Пробуй так:

PHP:
<?php
if(!defined('DATALIFEENGINE'))
{
  die("Hacking attempt!");
}

if(get_vars("stats_users_cron") > $_TIME - 432000) // 5 days
{
    $lastupdate = get_vars("stats_users_cron");
    $stats_users = get_vars("stats_users");
}
else
{

if (!$stats_users) {

$row = $db->super_query("SELECT COUNT(*) as count FROM " . USERPREFIX . "_users");
$stats_users = $row['count'];

$db->free();

set_vars("stats_users_cron", $_TIME);
set_vars("stats_users", $stats_users);
}
}
?>

не была закрыта скобка :-(
 
Спасибо... так ошибки нету...

только можно разьеснить ? - это кеширование уберает запрос при каждом обновление страницы?
Если пользователь зарегистрировался, то счетчик изменится или только через 5 дней?
Код:
 if(get_vars("stats_users_cron") > $_TIME - 432000) // 5 days
 
это кеширование уберает запрос при каждом обновление страницы?
Да, до тех пор пока кеширование не потел=ряет актуальность.
Если пользователь зарегистрировался, то счетчик изменится или только через 5 дней?
только по истечению 5 дней. Если сайт посещаемый и регятся много народу то постать - 3-4 часа. Если просто посещаемый - 1 день. Запрос выполнится для создания кэша 1 раз. Так что можешь время сам выбирать. Оно указанов nix формате.
 
PHP:
if(get_vars("stats_users_cron") > $_TIME - 432000) // проверяем дату кеша
{
если кеш новенький, получаем данные из него
}
else
{
иначе делаем запрос и перезаписываем кеш
}
}

432000 - 5 дней
86400 - 1 день
3600 - 1 час и т.д.

можно поставить 1 час, но я бы рекомендовал поставить 1 день, незачем базу грузить.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху