leo*_*ora 8 javascript asp.net-mvc markdown database-design
我有一个数据库,我有一个网站前端.我的前端有一个字段现在是文本但我希望它支持markdown.我试图弄清楚权利是存储在我的数据库中,因为我有各种需要支持的视图(PDF报告,网页,Excel文件等)?
我担心的是,由于其中一些观点不支持HTML,我不仅希望拥有该字段的HTML版本.
我应该存储2个副本(仅一个文本和一个HTML吗?),或者我应该存储HTML并在运行时尝试在我渲染到Excel时删除它们HTML标记?
我需要弄清楚要存储在数据库中的正确格式(或格式),以便能够呈现两者:
任何建议都会受到赞赏,因为我不想走错路.我的观点是,我不想在Excel输出中显示任何HTML标记或markdown语法.
Bra*_*vic 11
决定这样:
缓存可以通过多种方式完成...您可以立即生成派生数据,并将其存储在数据库中,或者您最初可以存储NULL并懒惰地生成(如果需要的话).您甚至可以将其缓存在数据库之外.
但无论你做什么,都要确保缓存永远不会"陈旧" - 即当原始数据发生变化时,必须重新生成缓存中的派生数据,或者至少以某种方式将其标记为"脏".一种方法是通过触发器.
您需要以规范格式存储数据.也就是说,在数据库中使用一种真正的格式.听起来这种格式应该是包含markdown的文本列.这回答了问题的数据库设计部分.
然后,根据您需要导出的格式,您应该采用规范格式并将其转换为所需的输出格式.这可能只是输出markdown文本,或者通过某种解析器运行它来删除markdown或将其转换为HTML.
| 归档时间: |
|
| 查看次数: |
2416 次 |
| 最近记录: |