軽量フォーマット (テキスタイル、マークダウン) をデータベースに保存するにはどうすればよいですか?
質問
現在取り組んでいるプロジェクトに軽量の書式設定言語 (おそらく Textile、おそらく Markdown) を実装する予定ですが、それをデータベースに保存する最適な方法を疑問に思っています。
ユーザーが投稿しているコンテンツを編集できる場合、ユーザーが次回 HTML を編集する必要がないように、変換されていない元のマークアップが保存されることは理にかなっています。ただし、コンテンツは編集されるだけでなく表示されることが多いため、ページ ビューごとにオリジナルを Textile 経由で送信する必要がないように、コンテンツの変換されたコピーを保存することも合理的です。
では、元のコンテンツと変換されたコンテンツの両方をデータベースに並べて保存するのが一般的なのでしょうか?もっと良い方法はありますか?
ありがとう!
解決
ストアの値下げ:
- すべてのビュー = コンバージョン
- すべての編集 = 処理なし
HTMLを保存する
- すべてのビュー = 処理なし
- すべての編集 = マークダウンに変換して元に戻す
両方保管してください
- すべてのビュー = 処理なし
- すべての編集 = 編集後に HTML に変換
処理コストとコストを比較検討する必要があります。ストレージコスト。
他のヒント
あなたはdefinetlyオリジナルテキスタイル/マークダウンマークアップを格納し、レンダリングされたページをキャッシュまたは単に処理マークアップの結果をキャッシュするか、標準のHTTPキャッシングのもの(最終更新、有効期限-で、ETagの)を使用する必要があります。
私は現在、PHPでのMarkdownを使用しています。私は、データベース内のマークダウン・ソースを保存し、私は、要求に応じて変換されたバージョンを表示します。私は、パフォーマンスの問題を持っていない、とこの設定に非常に満足しています。
私は何を見てきたことは、データベース内の別々の行でコンパイルされたHTMLを保存するために確かにあります。ただ、1行のコンテンツ 'と別の「content_html」を持っている、と「content_html」行でコンパイルされたHTMLを保存します。
(きっとあなたはこれを行うためにオーバーライドできるメソッドを保存するいくつかの種類がありますか?)