Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Wall -> cache

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Кеширование постраничного вывода
maragon
Отправлено: 11 Января, 2015 - 01:19:29
Post Id



Посетитель


Покинул форум
Сообщений всего: 340
Дата рег-ции: Февр. 2011  


Помог: 2 раз(а)




Думал, думал, в итоге не надумал.
Есть стена пользователя - хранится все в бд (mysql).
Как правильно можно её закешировать в файловую систему дабы потом можно было легко манипулировать данными (удалить/обновить/добавить)?

Первый мой вариант был таков, при загрузке страницы пользователя кидаем запрос в кэш, если его нет, то кидаем запрос в бд и создаем кэш, после берем данные из кэша (выводим на экран все содержимое, т.е все сообщения). Но это без постраничной навигации. Как быть с ней? Как правильно организовать алгоритм?

Подгружать сообщения стены в дальнейшем хотелось бы ajax'ом при прокрутке страницы.

Хм


-----
https://vk[dot]com/tvoycase_ru - Твой чехол со своим дизайном
 
 Top
IllusionMH
Отправлено: 11 Января, 2015 - 02:11:20
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




maragon, в моем случае редко происходило добавление новых данных, поэтому я после каждого добавления записи перезаписывал кэш.
 
 Top
maragon
Отправлено: 11 Января, 2015 - 02:35:34
Post Id



Посетитель


Покинул форум
Сообщений всего: 340
Дата рег-ции: Февр. 2011  


Помог: 2 раз(а)




IllusionMH пишет:
maragon, в моем случае редко происходило добавление новых данных, поэтому я после каждого добавления записи перезаписывал кэш.

В моё же случае опора идёт на стены пользователей, т.е основная информация будет зациклена на ней.
Это - Добавление / Удаление / Изменения / Репосты и т.д.
Т.е. проще просто перезаписать кэш? А как быть с постраничной навигацией? Записывать все сообщения стены в кэш через serialize и дёргать напрямую из него?


-----
https://vk[dot]com/tvoycase_ru - Твой чехол со своим дизайном
 
 Top
IllusionMH
Отправлено: 12 Января, 2015 - 06:04:39
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




maragon, если контента немного, тогда можно и каждый раз переписывать, но потом времени это будет только торпозить. Если страницы всегда содержат фиксированное число данных, то так и бить на файлы. Можно попробовать хранить только 5 страниц, а потом уже лезть в базу, хотя это все уже смотрится как костыли.

А производительности бд уже не хватает? Читать файлы а потом еще десериализовать и пытаться делать из них выборки - геморройней будет.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB