Я хотел бы пойти немного глубже в кэширование Smarty, поэтому у меня есть несколько простых вопросов ...Smarty кэшированных файлы недействительность
манипулировать кэш недействительность Я хочу знать, что каталог хранения Smarty это кэш Например, все кэшированные страницы, связанные с
user_id=123
, я хочу сохранить по адресуcache/users/123/
. Гдеcache
- это гибкий кеширующий реж. Как я могу сказать smarty хранить кеш, связанный сuser_id=123
, по адресуcache/users/123/
? Будет ли Smarty хранить кэш под-шаблонов в этом каталоге?Есть ли рекомендации по очистке кеша в этом каталоге? Я думаю, что простое удаление файлов из этого каталога может привести к некоторым ошибкам, если некоторые посетители сейчас посещают эти страницы (может произойти ошибка, когда smarty увидит, что этот кеш-шаблон найден, но кеш-подматрица не найден, потому что он уже удален, например).
Любые рекомендации и советы.
спасибо.
Благодарим вас за ответ. Есть ли способ установить подкаталог кеша, тогда как '$ smarty-> cache_dir' установлен в один каталог (' $ smarty-> cache_dir = '/ path/to/cache''). Думаю, это решит огромную нагрузку. Я знаю, что если '$ smarty-> use_sub_dirs = true', мы можем определить путь к кешу непосредственно в cache_id ('/user/123/'), но Smarty также добавит свои собственные дополнительные подкаталоги в наш cache_id, поэтому в результате мы получим что-то вроде ('/ user/123 /% 12 /% 23 /% 45 /'). Вы знаете, как этого избежать? – Kirzilla
Когда вы устанавливаете значение true, вы можете использовать differen cache_id каждый раз ($ smarty-> fetch ('file', 'cacheId') и $ smarty-> display ('file', 'cacheId')). – Ronn0
Smarty делает оба типа кеширования, если вы их активируете. Вы также можете кэшировать скомпилированные шаблоны и конечный результат. – djn