Как сохранить облегченное форматирование (текстиль, Markdown) в базе данных?

StackOverflow https://stackoverflow.com/questions/492515

Вопрос

Я собираюсь внедрить облегченный язык форматирования (возможно, Textile, возможно, Markdown) в проекте, над которым я работаю, и мне интересно, как лучше всего сохранить его в базе данных.

Если пользователь может редактировать публикуемый им контент, для меня имеет смысл сохранить исходную, неконвертированную разметку, чтобы пользователю не пришлось редактировать HTML в следующий раз.Но поскольку содержимое будет отображаться гораздо чаще, чем редактироваться, также имеет смысл сохранить преобразованную копию содержимого, чтобы оригинал не приходилось отправлять через Textile при каждом просмотре страницы.

Итак, является ли обычной практикой одновременное хранение как исходного, так и преобразованного содержимого в базе данных?Есть ли лучший способ?

Спасибо!

Это было полезно?

Решение

Уценка магазина:

  • Каждый просмотр = конверсия
  • Каждое редактирование = никакой обработки

Хранить html

  • Каждый просмотр = никакой обработки
  • Каждое редактирование = конвертировать в markdown и обратно

Храните оба

  • Каждый просмотр = никакой обработки
  • Каждое редактирование = конвертировать в html после редактирования

Вы должны взвесить свои затраты на обработку по сравнениюваша стоимость хранения.

Другие советы

Вам определенно следует сохранить оригинальную разметку Textile / Markdown и использовать либо стандартные элементы HTTP-кэширования (с последним изменением, с истекшим сроком действия, ETag) для кэширования отображаемых страниц, либо просто кэшировать результат обработки разметки.

В настоящее время я использую Markdown с PHP.Я сохраняю исходный код markdown в базе данных и отображаю Преобразованную версию по запросу.У меня нет проблем с производительностью, и я очень доволен этой настройкой.

То, что я видел, действительно заключается в хранении скомпилированного HTML-кода в отдельной строке в базе данных.Просто создайте одну строку 'content' и другую 'content_html' и сохраните скомпилированный HTML-код в строке 'content_html'.

(Наверняка у вас есть какой-нибудь метод сохранения, который вы можете переопределить для этого?)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top