[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вариант кеширования
vital
Вобщем, есть едит, к нему прикручено автодополнение по типу как в гугле. ДАнные берутся из бд. Их много) При каждой новый букве снова лезть в бд не хочется, тем более что выборка одинаковая, хочется как-то кешировать, однако извращаться с мемкашед не охота, т.к. а - это всего лишь курсовой девочки, б - западло ставить и настривать ради одного запроса) Однако как-то оптимизировать хочется.. ДУмал что-то в таком духе
/Что бы каждый раз не лезть в базу, такой вот вариант кеша
//if (!file_exists("dbselect"))
//{

$handle=mysql_connect($dbhost,$dbuser,$dbpass) or exit;
mysql_select_db($dbname,$handle) or exit;
$res=mysql_query('SELECT id,fio FROM student',$handle) or exit;
//file_put_contents("dbselect",$res);
//} else
//{
// $res=file_get_contents("dbselect");
//}

т.е сохранить выборку в файл. Подскажите как правильнее и удобнее..



Спустя 49 минут, 18 секунд (27.09.2010 - 12:50) SlavaFr написал(а):
база данных для того и зделана, чтоб к ней задавать вопросы, которые выдают ограниченное количество результатов. База данных сама работает с файлами и может кешировать запросы. Переходить на файлы, это просто безсмысленно, так как возникает вопрос "зачем нужна База данных вообще?". Если База Данных не справляется со своей задачей, то возможно надо поменять провидера или перейти на более быструю машину. Если это тоже не помогает, то файлы тебе тоже не помогут и тебе прийдется разбрасывать твою программу на несколько серверов.

Спустя 1 час, 36 минут, 42 секунды (27.09.2010 - 14:27) vital написал(а):
Просто запрос всегда один и тот же, как и выдаваемый результат. Глупо делать его много раз. НАсчет кеширования бд - подробнее. Его надо включать?)

Спустя 30 минут, 22 секунды (27.09.2010 - 14:57) SlavaFr написал(а):
http://dev.mysql.com/doc/refman/5.1/en/query-cache.html

show variables like 'query_cache%';

Спустя 46 минут, 53 секунды (27.09.2010 - 15:44) vital написал(а):
Спасибо.

Спустя 1 час, 12 минут, 46 секунд (27.09.2010 - 16:57) twin написал(а):
Цитата
Переходить на файлы, это просто безсмысленно, так как возникает вопрос "зачем нужна База данных вообще?"

А вот и нет. Это назывеется "оптимизация" База данных имеет целый сервер, работать с ней на порядок проще, чем с файлами. Однако именно потому это требует много ресурса. На высоко нагруженных ресурсах используются всевозможные варианты кэширования. В кэше хранится результат работы сервера БД. Таким образов убиваются два зайца - простота реализации и снижение ресурсоемкости.

Спустя 1 час, 46 минут, 20 секунд (27.09.2010 - 18:43) vital написал(а):
2twin
Ну значит я правильно рассуждал)


_____________
"Нужно быть готовым прислушиваться к тем, кто может тебя чему-нибудь научить. Иначе ты никогда не вырастешь."

Откровенно я никому ниразу не нагрубил. А дать подзатыльник зарвавшемуся юнцу, так это и ему на пользу, и мне в удовольствие. © AllesKlar
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.