数据库里如何存储 Markdown, Textile 这样的语法文本

发布于 2022-08-24 01:25:35 字数 138 浏览 21 评论 0

有两种不同的方法:

  1. 转成 html 格式保存进数据库,编辑的时候需要转换,读取的时候无需转换
  2. 直接保存原始语法格式,编辑的时候无需转换,读取的时候转换成 html

这两种方法各有什么利弊,怎样选择呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

半枫 2022-08-31 01:25:35

数据库保存markdown,html渲染放缓存。

我的项目里没有markdown,但是对用户输入涉及很多转换处理。把转换处理后的html放入redis,设置一个较长缓存时间1个月,这样就兼顾了原始输入的保留和渲染效率。

感情洁癖 2022-08-31 01:25:35
  • 任何一个系统,都是远远大于,因此,耗时的操作一般放在,但是我并不建议在数据库里面存 html 文件,因为数据库要存放原始数据,毕竟这些数据需要反复编辑。

  • 为了提高的性能,可以把 markdown 转换成的 html 放入缓存。

  • 这样还可以节省一次转换开销。

娇纵 2022-08-31 01:25:35

在数据库保存原始语法格式,可以在写数据库的同时写一份缓存,前台显示的时候从缓存读,编辑内容的时候从数据库读取。

白况 2022-08-31 01:25:35

我有一个建议,两种格式都存放,现在的存储空间并不贵,只是多保存了一次,虽然有点违背原则,但有很多优点:

  1. 展示的时候直接读取 html,速度很快,读的次数远远多于写的次数
  2. 编辑的时候读取 markdown,能减少诸如 XSS 之类的安全问题
  3. 代码只需写 markdown to html 部分,免去 html to markdown
  4. 即使将来 markdown 版本修改了,或者不再使用 markdown 了,旧的数据仍然能正常显示

用空间换取效率,一气呵成。

小伙你站住 2022-08-31 01:25:35

建议存html,毕竟是通用格式。

以前,都直接用的html编辑器,后来MD火了,大家又换MD编辑器,但如果哪天又出了个XX。。

叹倦 2022-08-31 01:25:35

我的建议是数据库必须存放用户输入的原始数据
如果不这么做,哪一天用户想查看或者编辑自己的数据内容,却发现程序自作聪明把内容给变了,用户做何感想?(以前的百度空间就有这个问题,后来再也不用了)

至于速度的问题,在使用varnish等前端缓存的情况下(varnish还支持esi),其实这个问题我真不觉得有多大。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文