memcache для шаблонов Smarty

punchos

Новичок
memcache для шаблонов Smarty

в общем решил сделать кэширование шаблонов Smarty в memcache...все настроил...работает...но вот вопрос...
можно настроить только кэширование уже готовых кусков Html?....получается если шаблон зависит от входных переменных...таких как GET...то для каждого возможного значения переменных нужно помещать шаблон в memcache....
а ни кто не пробовал настроить кэширование для откомпилированных шаблонов, содержащих переменные?
 

AmdY

Пью пиво
Команда форума
ох уж эта попсовость memcache, всюду пытаются всунуть. на самом деле ничего додумывать не нужно, пускай как и раньше пишет на диск, только сам диск сделать виртуальным в оперативной памяти.
 

DiMA

php.spb.ru
Команда форума
AmdY
причем тут мемкеш, читай вопрос

проблема в голове, а не в месте хранения кеша

само по себе использование кеша - вполне уместно и нужно

punchos
1. необходимо в ключ кешированного объекта поместить все входные параметры
2. необходимо имметь возможность грохнуть ВСЕ объекты разом по мультитегу, если модель с данными изменилась

например, для правильного ключа можно сериализовать массив параметров + md5 от этой строки
 

Фанат

oncle terrible
Команда форума
Мне тоже довольно странной кажется идея держать в мемкеше шаблоны смарти.
 

Mandor

Новичок
Выгоды не будет и не удивлюсь если будет медленнее. Шаблоны smarty - это php файлы, которые кешируются тем же apc. А если вы положите шаблон в мемкеш то каким образом будете его подключать? Для eval'а не отаботает кэшер опкода, про запись на диск с последующим инклюдом я вообще не говорю.

Моё мнение. Шаблоны оставить в покое (как вариант - ramdrive), кэшировать результат работы этих шаблонов.
 

DiMA

php.spb.ru
Команда форума
> кэшировать результат работы этих шаблонов.

я думал это и так понятно .-)
 

punchos

Новичок
всем спасибо...дало почву для размышлений...но видимо все таки переделаю как предлагает AmdY...
просто так прикинул сколько возможных вариантов входных параметров для шаблона будет...чтобы его в ключ кэширования помещать...так что память под memcache будет переполняться и он старые из нее будет постоянно выбрасывать....так как сайт очень большой...
DiMA оба твоих предложения хорошие...я так и реализовал...сделал группы ключей...и удаление из кэша группы ключей тоже сделал...
и тем не менее все же для моей задачи лучше подойдет ram диск...
 

punchos

Новичок
стоит уже...но если откомплированные шаблоны будут браться с ram диска то это и быстрее и винт задрачиваться не будет...по крайней мере на сколько я это понимаю...
а то по словам админа на серваке винту уже поплохело от нагрузки
 

zerkms

TDD infected
Команда форума
стоит уже...но если откомплированные шаблоны будут браться с ram диска то это и быстрее и винт задрачиваться не будет...по крайней мере на сколько я это понимаю...
неправильно понимаешь. откомпилированные шаблоны это ведь php? а куда акселераторы складывают прокешированный байткод?
 

Dovg

Продвинутый новичок
//а потом будет вопрос: мой шаблон весит 1026 кб, почему он кешируется? :)
 

punchos

Новичок
zerkms cпасибо за науку...теперь когда я окончательно осознал, что сам дурак все сразу встало на свои места....посмотрел что закешировал APC и там действительно уже есть скомпилированные шаблоны smarty, которые он и отдает из памяти...

-~{}~ 18.09.09 12:20:

и вся эта мудистика с мемкешем в смарти нафиг не нужна
 

AmdY

Пью пиво
Команда форума
Автор оригинала: zerkms
не проще ли поставить акселератор пхп?
да, сам вчера додумался что сморозил, нужно только настроить apc, чтобы больше держал в кэше, а то шаблоны иногда бывают очень большие и очень много.
 

kvf77

Red Devil
я думаю, в данном случае не мемкэш был бы эффективен, а еакселератор
 

punchos

Новичок
Alexandre да как то можно видимо...он мне графики с мунина показывал...что то там рассказывал...но я мало что понял, не силен в железячках
 
Сверху