parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Кэши : кто и как этим делом пользуется

greg.frolov 20.06.2002 22:20

Прямого применения (^cache[файл](число_секунд){код}) оператору ^cache я так и не нашел в своих проектах. Может быть потому, что не вставала определенная задача. Однако, ускорить вывод данных из MySQL очень хотелось. Пришлось немного повымудряться.

Итак, прописываем кто где, а у меня в классе elements, в который я выделяю все жизненно необходимые элементы для функционирования проекта, следующий макрос:
@cache[filename;code]
$roll[^date::now[]]
^roll.roll[day](30)
$result[
  ^cache[/cache/$filename][$roll]{
  $code
  }
]
Результатом работы которого будет всегда кэшированный код - что нам вообщем-то и нужно. Осталось самое малое - отловить что где и когда будет изменяться и вовремя удалять файлы кэша с диска (для удобства, будем размещать их в одной директории) оператором ^file:delete[/cache/имякэша]

Использовать данную реализацию можно как и на форуме (тогда удалять кэш древа сообщений будем после нового постинга), так и в новостных лентах, где список новостей выбирается из базы (для чего я его и прописывал). Вообще, новостная лента - отдельная тема для публикации, и, надеюсь, если будет время и желание, напишу, как реализовывал свою идею.

ps А вообще в админ-интерфейсе сделал себе еще один раздел - кэш-файлы, где можно вести наблюдение за тем, какие файлы созданы и по желанию грохнуть любой, одним словом, больше возможностей PARSERу, товарищи Разработчики. А вот чего бы очень хотелось увидеть, так это загрузку файла, расположенного за пределами сервера (http либо ftp)

pps А ^download есть или нет в 3ем - или я просто плохо искал?