PDA

Просмотр полной версии : Кеширование


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 отправляеться запрос с введенными данными к скрипту, он формирует результат, который будет отображаться. Это динамический поиск по истории запросов

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

<?
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
Актуален вопрос: Как кешировать инфу из бд, её много..
Файловое кеширование не подходит..http://ru2.php.net/manual/ru/intro.memcache.php;
http://larin.in/archives/23.

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