我在我的社交网络应用程序中实现了一个风味版本的Markdown。一切都可以工作,但我的问题是:何时应该将用户输入(Markdown)转换为HTML?在将其存储在数据库中之前(以便仅将HTML存储在数据库中)还是当用户请求查看它时(将Markdown存储在数据库中)?
这两种方法都有各自的优缺点,但我只能提出以下参数:
- 将处理过的输入存储在数据库中可以更快地显示它,因为我们不再需要转换它,它已经准备好显示了。
- 在查看时处理它允许我随时更改Markdown处理器,例如添加自动解析Youtube url到嵌入的功能。
你会采取什么方法,为什么?
作为一项规则,始终尝试将数据存储在处理最少的状态,因为正如您所说,您可能会更改处理数据的方式。您总是可以重新创建处理过的数据,但无法重新创建原始数据。
如果你想添加一个"编辑"功能呢?你需要降价。
如果性能可能有问题,我会存储Markdown并按需渲染它,放入缓存(这可能像"在数据库中存储两种格式一样简单)。