Ответ
skiv 23.09.2010 10:17
В целом про новости верно, хотя у меня немного другое - у пользователя есть настройка, которая влияет на его поведение на сайте, т.е. "режим работы".
Настройка устанавливается пользователем и кладется в БД. Затем при гулянии пользователя по сайту, чтобы каждый раз не брать её из базы она надолго кешируется. (так сложилось, что проще проверить файл на диске... хотя вот сейчас пришла мысль как получить её из базы дёшево...).
Далее, при изменении настройки пользователем появляется необходимость заменить значение в кеше, который ещё не истёк. По идее можно было бы просто удалить кеш и при загрузке следующей страницы он бы автоматически сформировался... но мы не ищем легких путей :) Поскольку настройка уже известна, я захотел подставить её в кеш сразу же, и, глядя в документацию, написал ту строку о которой речь:
$value[3]
$tmp[^cache[test.ch](0){^cache(31536000)$value}]
и оказалось что команда ^cache(), изменяющая время кеширования, не работает в случае если изначально указано нулевое время.
P.S. Зря я использовал кеш для этой цели, надо было просто сохранять эту настройку в виде строки: ^value.save[usermodes/username.ch]
P.P.S. В соответствии с последними мыслями надобность в кешировании вообще отпадает, буду тащить настройку из базы