Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Кеширование (https://forum.antichat.xyz/showthread.php?t=68220)

Isis 24.04.2008 07:55

Кеширование
 
Стыдно!
Никогда не юзал, а теперь необходимо..
Хотел бы узнать как использовать кеширование в Php, хотел бы увидеть примеры и получить советы...

_Great_ 24.04.2008 08:34

зависит от целей +) пусть ТС написать что хочет, тогда мб можно будет предложить более оптимальный алгоритм

Isis 24.04.2008 09:01

http://img214.imageshack.us/img214/3965/04242008085933rg0.jpg
Вот такой же результат хочу выводить, не каждому же пользователю заново обновлять страницу, поэтому вот оптимальный вариант мне не помешает :)

Red_Red1 24.04.2008 09:19

Может это пригодится
Двадцать вещей, которые вы можете кешировать с помощью Apache и о которых вы не знаете. http://netsago.org/ru/docs/2/4

Isis 24.04.2008 09:20

Актуален вопрос: Как кешировать инфу из бд, её много..
Файловое кеширование не подходит..

nc.STRIEM 24.04.2008 10:24

не уверен что в данном вопросе походит слово кеширование...
Как вариант: запросы сохраняються в бд\файл и при вводе запроса пользователем при каждом изминение по средствам ajax отправляеться запрос с введенными данными к скрипту, он формирует результат, который будет отображаться. Это динамический поиск по истории запросов

вот пример нашол:
PHP код:

<?
    
if (!empty($_GET['q']))
    {
        
$pages = array('aaaaaaa''aaabraaa''bbbbbssss''aasrfdfvb''ssaaaaaa');
        
$result '';
        foreach (
$pages as $page)
            if (
strstr($page$_GET['q']))
                
$result .= "<li>$page</li>";
                
        if (!empty(
$result))
            echo 
$result;
        else 
            echo 
'Not found;)';
        exit;
    }
?>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=cp1251" />
<title>Привет, мир AJAX'a</title>
<script language="JavaScript" src="ajax.js" type="text/javascript"></script>

<script language="JavaScript" type="text/javascript">

function sendSearchRequest() {
    sendRequest('index.php?q=' + document.getElementById('searchQuery').value, 'result', getRequest);
}

var httpRequest = createHttpRequest();
var resultId = '';

function createHttpRequest() {
    var httpRequest;
    var browser = navigator.appName;
    
    if (browser == "Microsoft Internet Explorer") {
        httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
    } else {
        httpRequest = new XMLHttpRequest();
    }
    
    return httpRequest;
}

function sendRequest(file, _resultId, getRequestProc) {
    resultId = _resultId;
    document.getElementById(resultId).innerHTML = 'Подождите, идет загрузка...';
    httpRequest.open('get', file);
    httpRequest.onreadystatechange = getRequestProc;
    httpRequest.send(null);
}

function getRequest() {
    if (httpRequest.readyState == 4) {
        document.getElementById(resultId).innerHTML = httpRequest.responseText;
    }
}

</script>

</head>

<body>

Искать: <input id="searchQuery" type="text" size="30" maxlength="30" onKeyUp="javascript: sendSearchRequest();">
<hr />
<p id="result">Здесь будет результат запроса</p>
</body>
</html>


astrologer 24.04.2008 10:36

Цитата:

Сообщение от Isis
Актуален вопрос: Как кешировать инфу из бд, её много..
Файловое кеширование не подходит..

http://ru2.php.net/manual/ru/intro.memcache.php;
http://larin.in/archives/23.

Isis 24.04.2008 10:51

Эх.. memcache нельзя собрать на сервере...
На досуге надо будет придумать иной выход из ситуации =\


Время: 09:24