Ноябрь 04, 2004

Кэш

О системах кеширования..

Кеш актуален, когда мы говорим о довольно больших нагрузках, но тогда нет уверенности, что хватит ОЗУ, и вопрос уже не в понятии "кэш", а в оптимизации доступа к месту на диске, где лежит то, что нам надо. Скажем, быстро найти файл и место в нем и его отдать. Позитивно и быстро, если это - файл целиком.
В результате, многие веб-решения хранят в БД только первичку и для отдачи генерят по ней статический контент. Но здесь противоположный косяк - перегенерить большой документ - это время, и клиенты иногда могут получить фиг знает что. При этом, обновив кусок, надо вытягивать из БД все остальное и есть очень много разных действий, которые приводят к пересборке всей страницы. Например, в этом самом MovableType (кстати, он у меня выиграл довольно продолжительный отбор) редактирование коммента отражается на сайте только после перегенерации всего блога ;(
И тут возникает вопрос - А если хранить все в статике, но кусками и примитивно пофайлово собирать перед отдачей? Кэш или взятие из БД любого куска не будет быстрее чем просто открыть файл и отдать, при этом никакой перенегерации сторонних объектов и при обновлении блока достаточно обновить timestamp мастера, чтобы вся страница грузилась по новой...
..SSI. Истина где-то рядом? ;)

Автор: Jean, Ноябрь 4, 2004 12:31 AM
Комментарии

И еще про кэш. Если он сбрасывается не при изменении данных, а по таймауту, это - не самое эффективное решение IMHO.

Автор: Jean, Ноябрь 4, 2004 12:43 AM

Хмм... рискну предположить что SSI, может "заюзатся" либо в малом объеме выводимого контента, либо блоками + таже выборка из базы на примере какого нибуть портала (не правда ли модное словечко ;)...
.
Ну и потом, при текущем развитии техники, работа должна быть выполнена быстро , качественно и удобно реализована (для последующей корректировки, если такая необходимость понадобится).
БД как раз и может ее предоставить, как то отчеты, поиск, анализ .... никто не спорит что то же самое можно проделать и с файлами, но это ж мутарно , imho.

Автор: The_Shadow, Ноябрь 4, 2004 08:11 PM

"Если он сбрасывается не при изменении данных, а по таймауту, это - не самое эффективное решение IMHO"
.
эээ... а как же актуальность данных ?

Автор: The_Shadow, Ноябрь 4, 2004 08:13 PM

Синхронизация БД (для других форм доступа, кроме сайта) с файлами (для отдачи по http) отнюдь не накладывает ограничений на объемы использования SSI. При этом и получается кэш на самом близком к этим данным уровне. Но оптимизируется доступ не к страницам целиком, а именно блокам. И это не редкость.

Эд, судя по второму вопросу, ты наоборот понял мысль ))

Автор: Jean, Ноябрь 4, 2004 10:03 PM

:)

Автор: The_Shadow, Ноябрь 5, 2004 09:52 AM