Таков вопрос:
У меня имеются тяжелые запросы, и мне нужно эти тяжелые запросы, которые занимают приличное время, кэшировать, и потом если снова пытаемся какой нибудь тяжелый запрос выполнить то обращаться к кэшу уже.
Т.е. получается смысл такой.
....
Запрос который выполняется больше чем 3 секунды
Кэширование, или выборка из кэша
Работаем далее
....
Товарищь под именем FatCat посоветовал кэшировать через файловую систему. Пример тута
Огромное спасибо ему.

Так вооот. Не подскажете ли какие ещё способы кэширования можно юзать? И что более производительное?

Спустя 10 минут, 29 секунд (28.07.2009 - 11:51) Sylex написал(а):
isergi
это файловый кэш... очень популярен и вполне оправдывает себя..
при очень высоких нагрузках применяют memcache, думаю название говорит само за себя
http://ru.php.net/memcache
http://habrahabr.ru/blogs/webdev/42607/
и гугл тебе поможет
это файловый кэш... очень популярен и вполне оправдывает себя..
при очень высоких нагрузках применяют memcache, думаю название говорит само за себя

http://ru.php.net/memcache
http://habrahabr.ru/blogs/webdev/42607/
и гугл тебе поможет

Спустя 2 минуты, 59 секунд (28.07.2009 - 11:54) isergi написал(а):
Не...мем кэш не катит.
Если например софтину ставить клиенту на сервер, и потом объяснять что у тебя чета не хватает, он офигеет. Надо как можно проще.
Ну спасибо за ссылки. Почитаю
Если например софтину ставить клиенту на сервер, и потом объяснять что у тебя чета не хватает, он офигеет. Надо как можно проще.
Ну спасибо за ссылки. Почитаю

Спустя 7 минут, 23 секунды (28.07.2009 - 12:02) isergi написал(а):
Что скажете про такое вот решение?
PHP |
function cache_query($sql, $result) { |
Не будет потом какой нибудь нехватки памяти?
Спустя 11 минут, 6 секунд (28.07.2009 - 12:13) Sylex написал(а):
isergi
ну ты даешь))
не хватки памяти не будет
Этот кэш реализуется просто - не вызывай за одну сессию 2 одинаковых запроса. Не знаю, как может быть еще иначе...
Приведи пример, где тебе нужен "такой кэш"
ну ты даешь))
не хватки памяти не будет

Этот кэш реализуется просто - не вызывай за одну сессию 2 одинаковых запроса. Не знаю, как может быть еще иначе...
Приведи пример, где тебе нужен "такой кэш"
Спустя 4 минуты, 22 секунды (28.07.2009 - 12:17) olgatcpip написал(а):
А в постгере есть вьюшки (views) 
А ещё я видела, что результаты запросов в сесси хранят
....

А ещё я видела, что результаты запросов в сесси хранят

Спустя 3 минуты, 17 секунд (28.07.2009 - 12:20) Sylex написал(а):
olgatcpip
че за вьюшки? представления что-ли? они и в MySQL есть, если ты о них, и не знаю зачем они здесь..
че за вьюшки? представления что-ли? они и в MySQL есть, если ты о них, и не знаю зачем они здесь..
Спустя 7 минут, 13 секунд (28.07.2009 - 12:27) isergi написал(а):
По поводу View, они не нужны. Эт точно.
В Сессиях хранить результат? о_О Эээ...ну чет не слышал.
В Сессиях хранить результат? о_О Эээ...ну чет не слышал.
Цитата (Sylex 28.07.2009 - 09:13) |
ну ты даешь)) не хватки памяти не будет |
Ну я Х3

Цитата (Sylex 28.07.2009 - 09:13) |
Приведи пример, где тебе нужен "такой кэш" |
Чет даже затрудняюсь ответить ) Ну есть сайт, лазия по нему, встречаются запросы из огромного количества записей. Так вот если запрос выполняется больше чем 3 секунды, его надо кэшировать, и доставать потом если опять к нему обратимся.
Думаю тот вариант, про который я спросил, самый оптимальный.
Спустя 13 минут, 1 секунда (28.07.2009 - 12:40) sergeiss написал(а):
Тут, опять же, зависит от объёма полученных данных.
Если это простое число (строка), или небольшой набор чисел (строк), то имеет смысл хранить их в отдельном файле или в специальной таблице.
Если это простое число (строка), или небольшой набор чисел (строк), то имеет смысл хранить их в отдельном файле или в специальной таблице.
Спустя 2 минуты, 17 секунд (28.07.2009 - 12:43) Sylex написал(а):
isergi
так вот в твоем случае скрипт отработает - и весь твой "кэш" пропадает
используй файловый и не парься
так вот в твоем случае скрипт отработает - и весь твой "кэш" пропадает

используй файловый и не парься
Спустя 7 минут, 40 секунд (28.07.2009 - 12:50) Nikitian написал(а):
Если запрос выполняется более 3 секунд, то покажите такой запрос - нужен ли он вообще и не стоит ли его оптимизировать?
От себя: делал на файлах, но перешёл на memcache. На работе пришлось на один посещаемый сайт поставить кэш на файлах, т.к. вечерами он ронял сервак - теперь сервак работает, но вот не ручаюсь за долгую жизнь винтов (на этом сайте более 100 запросов к бд на страницу и чую, винт быстро сдохнет из-за лени админа, которому лень ставить memcache).
Если нет возможности делать memcache, то остаются только файлы. Экзотические методы хранения в памяти не рассматриваем, т.к. для этого надо пересобирать пхп, а тогда проще мемкэш поставить ))
От себя: делал на файлах, но перешёл на memcache. На работе пришлось на один посещаемый сайт поставить кэш на файлах, т.к. вечерами он ронял сервак - теперь сервак работает, но вот не ручаюсь за долгую жизнь винтов (на этом сайте более 100 запросов к бд на страницу и чую, винт быстро сдохнет из-за лени админа, которому лень ставить memcache).
Если нет возможности делать memcache, то остаются только файлы. Экзотические методы хранения в памяти не рассматриваем, т.к. для этого надо пересобирать пхп, а тогда проще мемкэш поставить ))
Спустя 13 минут, 26 секунд (28.07.2009 - 13:04) sergeiss написал(а):
Цитата (Nikitian @ 28.07.2009 - 13:50) |
Если запрос выполняется более 3 секунд, то покажите такой запрос - нужен ли он вообще и не стоит ли его оптимизировать? |
Из моего опыта: бывают такие запросы (до нескольких десятков секунд доходит иногда), и наоптимизировать их уже не получается. Также, впрочем, не всегда их можно и закэшировать

Естественно, столь "объёмные" запросы получаются при использовании больших таблиц, да еще когда проводится какой-то анализ данных, требующих всяких объединений данных, и нескольких вложенностей запросов.
Спустя 16 минут, 36 секунд (28.07.2009 - 13:20) isergi написал(а):
Sylex
Файловый всё таки не очень такой уж юзабельный. Хотелось бы конечно как нибудь всё таки через переменные и всё такое не файловое.
sergeiss
Вот как раз это продолжение той темы про 100000 записей в таблице, т.е. решили их всё таки как то кэшировать.
Мемкеш тут не катит, потому что не все его ставить будут.
Вот думаю как бы так через массив $qcache но чтобы небыло потери кэша, как сказал Sylex .
Файловый всё таки не очень такой уж юзабельный. Хотелось бы конечно как нибудь всё таки через переменные и всё такое не файловое.
sergeiss
Вот как раз это продолжение той темы про 100000 записей в таблице, т.е. решили их всё таки как то кэшировать.
Мемкеш тут не катит, потому что не все его ставить будут.
Вот думаю как бы так через массив $qcache но чтобы небыло потери кэша, как сказал Sylex .
Спустя 29 минут, 45 секунд (28.07.2009 - 13:50) Sylex написал(а):
Цитата (isergi @ 28.07.2009 - 16:20) |
100000 записей в таблице |
это немного
Цитата (sergeiss @ 28.07.2009 - 16:04) |
Файловый всё таки не очень такой уж юзабельный. |
Цитата (isergi @ 28.07.2009 - 16:20) |
Мемкеш тут не катит |
ну делай как знаешь, ты умный
Спустя 5 часов, 34 минуты, 24 секунды (28.07.2009 - 19:25) PandoraBox2007 написал(а):
Спустя 15 часов, 56 минут, 3 секунды (29.07.2009 - 11:21) isergi написал(а):
PandoraBox2007
Спасибо. Отличная вещчь
Спасибо. Отличная вещчь

Спустя 3 часа, 15 минут, 28 секунд (29.07.2009 - 14:36) Sylex написал(а):
isergi
это опять пример тебе файлового кэша, что я и говорил тебе
это опять пример тебе файлового кэша, что я и говорил тебе
Спустя 2 часа, 49 минут, 4 секунды (29.07.2009 - 17:25) isergi написал(а):
Sylex
Знач я не правильно поняли друг друга. Я приводил пример который мне объяснили в качестве файлового.
Как то думал что про это говорилось. ВОт я его и отвергал.
Знач я не правильно поняли друг друга. Я приводил пример который мне объяснили в качестве файлового.
Как то думал что про это говорилось. ВОт я его и отвергал.
Спустя 1 час, 37 минут, 46 секунд (29.07.2009 - 19:03) Sylex написал(а):
Цитата (isergi @ 29.07.2009 - 20:25) |
Я приводил пример |
ты НЕ приводил пример
Спустя 17 часов, 23 минуты, 23 секунды (30.07.2009 - 12:26) isergi написал(а):
Цитата (isergi 28.07.2009 - 08:41) |
Товарищь под именем FatCat посоветовал кэшировать через файловую систему. Пример тута |
Эни квешнс?

Спустя 31 минута, 22 секунды (30.07.2009 - 12:58) Sylex написал(а):
Цитата (isergi @ 30.07.2009 - 15:26) |
Эни квешнс? ![]() |
no questions, no comments

_____________
Рекурсивный салат - огурцы, помидоры, салат.