Frage

Ich werde eine leichte Formatierungssprache zu implementieren (wahrscheinlich Textilien, vielleicht Markdown) in einem Projekt arbeite ich an, und ich frage mich, wie sie am besten speichern in der Datenbank.

Wenn der Benutzer in der Lage ist, den Inhalt zu bearbeiten, sie zu veröffentlichen, es macht Sinn für mich, dass der ursprünglichen, nicht umgesetztes Markup gespeichert werden, so dass der Benutzer nicht HTML um das nächste Mal zu bearbeiten hat. Aber da der Inhalt eine ganze Menge mehr angezeigt werden wird als bearbeitet, es macht auch eine konvertierte Kopie des Inhalts speichern Sinn, so dass das Original auf jedem Seitenaufruf nicht gesendet durch Textile werden muss.

So

, ist die gängige Praxis sowohl zu speichern das Original und konvertierte Inhalt Seite an Seite in der Datenbank? Gibt es einen besseren Weg?

Danke!

War es hilfreich?

Lösung

Shop Abschlag:

  • Jede Ansicht = Umsatz
  • Jede edit = keine Verarbeitung

Speichern html

  • Jede Ansicht = keine Verarbeitung
  • Jede edit = konvertieren Abschlag und zurück

Speichern beide

  • Jede Ansicht = keine Verarbeitung
  • Jede edit = konvertieren nach bearbeiten html

Sie haben Ihre Prozesskosten gegen Ihre Lagerkosten abzuwägen.

Andere Tipps

Sie sollten auf jeden Fall original Textil / Markdown-Markup speichern und entweder Standard-HTTP-Caching-Material verwenden (Zuletzt geändert, Verfällt-At, ETAG) gerenderten Seiten zwischenzuspeichern oder einfach nur das Ergebnis der Verarbeitung Markup zwischenzuspeichern.

Ich bin derzeit mit PHP Markdown. Ich speichere die Abschlags-Quelle in der Datenbank, und ich zeige die konvertierte Version auf Anfrage. Ich habe keine Performance-Probleme, und bin sehr zufrieden mit dieser Einstellung.

Was ich gesehen habe, ist in der Tat in der Datenbank den kompilierten HTML in einer separaten Zeile zu speichern. Haben Sie einfach eine Zeile ‚Inhalt‘ und ein anderer ‚content_html‘ und speichern Sie die kompilierte HTML in der ‚content_html‘ Reihe.

(Sicher haben Sie irgendeine Art von Verfahren speichern, die Sie überschreiben können, dies zu tun?)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top