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

Спустя 9 минут, 40 секунд (21.08.2011 - 13:08) neadekvat написал(а):
На счет кэша постов - многовато места будет занято. Плюс при редактирвоании придется проверять кэш, обновлять. Да и что такое "большой"?
Возможно, проще сделать так: бб-теги превращаются в настоящие теги и так хранится в базе (при выводе, соответственно, никаких лишних телодвижений), а когда редактируют - заменять теги на бб-теги.
Кажется, на этом и подобных форумах так и реализовано.
Возможно, проще сделать так: бб-теги превращаются в настоящие теги и так хранится в базе (при выводе, соответственно, никаких лишних телодвижений), а когда редактируют - заменять теги на бб-теги.
Кажется, на этом и подобных форумах так и реализовано.
Спустя 20 минут, 56 секунд (21.08.2011 - 13:29) or4ek написал(а):
Ну при редактировании поста пользователю необходимо отдать в том виде, в котором он ввел, а при конвертировании хтмл в бб на 100% этого реализовать не получится, така как это очень сложная задача. И потом, это не решает вопрос добавления новых тегов - придется все заново парсить и сохранять в бд - та же самая ресурсоемкая ф-ция "Обновить кэш"...
Спустя 4 минуты, 52 секунды (21.08.2011 - 13:34) Nikitian написал(а):
Храните в бд 2 варианта записи: с бб-тегами и распарсенный вариант. При редактировании обновляйте оба. При выводе используйте распарсенный.
Спустя 6 минут, 38 секунд (21.08.2011 - 13:41) or4ek написал(а):
Nikitian
а если накопится 100 000 постов, а я решу, допустим, запретить вывод смайлов, и мне все, что сохранено в распарсенном виде, надо будет заново парсить... Как с этим быть?
а если накопится 100 000 постов, а я решу, допустим, запретить вывод смайлов, и мне все, что сохранено в распарсенном виде, надо будет заново парсить... Как с этим быть?
Спустя 10 минут, 31 секунда (21.08.2011 - 13:51) Nikitian написал(а):
or4ek
Не запрещать для уже опубликованных постов. Закон же обратной силы не имеет
Не запрещать для уже опубликованных постов. Закон же обратной силы не имеет

Спустя 26 минут, 39 секунд (21.08.2011 - 14:18) or4ek написал(а):
Наверное, я буду делать так:
Вот... думаю ничего на первое время)
- Кэшировать все сообщения
- При выводе сообщения на фронтенде проверять, сущ-ет ли кэш данного поста, если да, то подцепляю его, если нет - генерю на лету и сохраняю
- В админке предусмотрю ф-цию "Обновить кэш" как полностью, так и по разделам (чтоб сразу жралось не так много ресурсов)
- и потом, может быть, реализую обновление устаревшего кэша по крону (раз в неделю, к примеру)
Вот... думаю ничего на первое время)
Спустя 4 минуты, 19 секунд (21.08.2011 - 14:22) or4ek написал(а):
Всем большое спасибо за советы!