Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Gouvere
19 / 19 / 8
Регистрация: 25.11.2013
Сообщений: 122
1

Кэширование данных

06.05.2014, 15:26. Просмотров 857. Ответов 9
Метки нет (Все метки)

Помогите, вот у меня на каждой странице выбирается вся информация о текущем авторизированном юзере:
SQL
1
SELECT * FROM `users` WHERE `id_user` = 37 LIMIT 1
Я думаю, можно улучшить это дело, если данные выбирать из базы только один раз, а потом кэшировать их и на следующих страницах выбирать уже из кэша.
Подскажите, как их лучше кэшировать? Сохранять в файл, а потом читать? Мне нужно что-нибудь эффективное, т.к. ресурс будет с большой посещаемостью.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.05.2014, 15:26
Ответы с готовыми решениями:

Кэширование страницы
Здравствуйте, может кто подсказать? В общем прикрутил к форме капчу. Система...

PHP кэширование: БД или файлы?
Собственно решил добавить на сайт кэширование, почитал статьи на эту тему,...

Кэширование данных в файл
Имеем переменную в которой находится счётчик подписчиков twitter. Обращение...

Кэширование данных или другой более удобный способ
Добрый день, господа. такой вопросец: я дергаю одну страничку из сети и...

Кэширование
В сити пишут, что кэшировать ответ сервера на клиенте, можно с помощью HTTP...

9
Reposlav
48 / 48 / 26
Регистрация: 31.05.2011
Сообщений: 139
06.05.2014, 15:32 2
Смотрите в сторону Memcache, Redis, APC
В нормальных фреймворках уже есть встроенные средства кеширования, нужно только выбрать инструмент
1
Gouvere
19 / 19 / 8
Регистрация: 25.11.2013
Сообщений: 122
06.05.2014, 15:39  [ТС] 3
Reposlav, а их встроенные средства базируются на Memcache, Redis, APC или они сделали что-то свое?
Я просто не хочу использовать всякие Memcache. Насколько понимаю, хостинг не предоставляет такие услуги.
0
Reposlav
48 / 48 / 26
Регистрация: 31.05.2011
Сообщений: 139
06.05.2014, 16:23 4
Gouvere, обычно в фреймворках есть готовые интерфейсы для наиболее популярных продуктов (таких как Memcache), в том числе и кеширование в файлах.

С виртуальными хостингами уже давно не имел дела, не знаю как у них. Если не предоставляют, то тогда вариант только файлы. Хотя, если честно, я не представляю, чтобы высоконагруженный ресурс лежал на виртуальном хостинге. А на виртуальных серверах любой инструмент можно установить.
1
Gouvere
19 / 19 / 8
Регистрация: 25.11.2013
Сообщений: 122
06.05.2014, 17:02  [ТС] 5
Reposlav, спасибо, учту. Но мне кажется, что разница в ресурсах и скорости между выборкой БД и прямой работой с файлами не такая уж существенная.
0
Reposlav
48 / 48 / 26
Регистрация: 31.05.2011
Сообщений: 139
06.05.2014, 18:34 6
Лучший ответ Сообщение было отмечено Gouvere как решение

Решение

Gouvere, зависит от сложности запроса, индексов и от настроек СУБД. В принципе, запросы в самой СУБД должны тоже кешироваться. В большинстве ситуаций, действительно, разница не существенна. Чтобы разница была заметна, нужно использовать хранилища в памяти, а это в любом случае сторонние продукты, встроенных в PHP средств нет.
1
Programmer_
88 / 88 / 34
Регистрация: 22.05.2012
Сообщений: 404
08.05.2014, 23:00 7
Лучший ответ Сообщение было отмечено Gouvere как решение

Решение

Цитата Сообщение от Gouvere Посмотреть сообщение
у меня на каждой странице выбирается вся информация о текущем авторизированном юзере
Цитата Сообщение от Reposlav Посмотреть сообщение
Смотрите в сторону Memcache, Redis, APC
нафига такой огород ??? Сессии именно для этих случаев и предназначены
1
Reposlav
48 / 48 / 26
Регистрация: 31.05.2011
Сообщений: 139
09.05.2014, 01:10 8
Programmer_, ну да, я увидел слово "кэшировать", и автоматом зациклился на том, чем пользуюсь в сложных проектах) если данных о юзере немного, можно и в сессии писать, все равно они каждый хит читаются) Но если данных много, то лучше не раздувать сессию, так как она все равно по умолчанию хранится в файлах.
1
Gouvere
19 / 19 / 8
Регистрация: 25.11.2013
Сообщений: 122
09.05.2014, 10:20  [ТС] 9
Programmer_, Reposlav, спасибо) Но получается чем больше данных в сессионном файле, тем медленнее он читается?
0
Helele
5 / 5 / 1
Регистрация: 06.04.2014
Сообщений: 90
13.05.2014, 19:56 10
Цитата Сообщение от Gouvere Посмотреть сообщение
Но получается чем больше данных в сессионном файле, тем медленнее он читается?
Да , так-как сессии хранятся в разделяемой памяти, но если сессия по какмт причинам не будет передаваться , то будет создана новая ! делай выводы по поводу "чем больше данных"
1
13.05.2014, 19:56
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.05.2014, 19:56

Кэширование в PHP
Если у вас такой вопрос: У МЕНЯ КУЧА ЗАПРОСОВ К БАЗЕ ПРИ КАЖДОМ ОТКРЫТИИ...

Кэширование php скрипта
Здравствуйте уважаемые программисты! Возник вопрос такого типа: Есть php...

Кэширование изображений на сервере
На странице http://*******/l16QY изображения слишком долго загружаются...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru