Pergunta

Eu vou estar implementando uma linguagem leve formatação (provavelmente Têxtil, talvez Markdown) em um projeto que estou trabalhando, e eu sou maravilha a melhor forma de armazená-lo no banco de dados.

Se o usuário é capaz de editar o conteúdo que está postando, faz sentido para mim que o original, marcação não-convertido ser armazenado para que o usuário não tenha que editar HTML da próxima vez. Mas desde que o conteúdo vai ser exibido um lote inteiro mais de editadas, também faz sentido para armazenar uma cópia convertida do conteúdo para que o original não tem que ser enviada através Têxtil em cada exibição de página.

Assim, é a prática comum para armazenar o original e convertido conteúdo side-by-side no banco de dados? Existe uma maneira melhor?

Obrigado!

Foi útil?

Solução

remarcação da loja:

  • Cada view = conversão
  • Cada edit = nenhum processamento

loja html

  • Cada view = nenhum processamento
  • Cada edit = convertido para remarcação e para trás

Loja ambos

  • Cada view = nenhum processamento
  • Cada edit = Converte para HTML depois de editar

Você tem que pesar os custos de processamento vs. o custo de armazenamento.

Outras dicas

Você deve definitivamente loja original Têxtil / Markdown marcação e utilização, quer padrão coisas cache HTTP (Last-Modified, Expira-At, ETag) para páginas de cache prestados ou apenas cache o resultado do processamento de marcação.

Atualmente estou usando Markdown com PHP. Eu armazenar o markdown-source no banco de dados, e eu exibir a versão convertida mediante solicitação. Eu não tenho problemas de desempenho, e estou muito feliz com esta configuração.

O que eu vi é de fato para armazenar o HTML compilado em uma linha separada no banco de dados. Basta ter uma linha 'conteúdo' e outro 'content_html' e salve o HTML compilado no 'content_html' linha.

(Certamente você tem algum tipo de save método que você pode substituir para fazer isso?)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top