有两种不同的方法:
- 转成 html 格式保存进数据库,编辑的时候需要转换,读取的时候无需转换
- 直接保存原始语法格式,编辑的时候无需转换,读取的时候转换成 html
这两种方法各有什么利弊,怎样选择呢?
有两种不同的方法:
这两种方法各有什么利弊,怎样选择呢?
任何一个系统,都是读远远大于写,因此,耗时的操作一般放在写,但是我并不建议在数据库里面存 html 文件,因为数据库要存放原始数据,毕竟这些数据需要反复编辑。
为了提高读的性能,可以把 markdown 转换成的 html 放入缓存。
这样还可以节省一次转换开销。
我有一个建议,两种格式都存放,现在的存储空间并不贵,只是多保存了一次,虽然有点违背原则,但有很多优点:
用空间换取效率,一气呵成。
我的建议是数据库必须存放用户输入的原始数据。
如果不这么做,哪一天用户想查看或者编辑自己的数据内容,却发现程序自作聪明把内容给变了,用户做何感想?(以前的百度空间就有这个问题,后来再也不用了)
至于速度的问题,在使用varnish等前端缓存的情况下(varnish还支持esi),其实这个问题我真不觉得有多大。
6 回答3.4k 阅读✓ 已解决
4 回答2k 阅读
2 回答2.5k 阅读
2 回答2.2k 阅读
1 回答1k 阅读✓ 已解决
2 回答1.5k 阅读
2 回答1.8k 阅读
数据库保存markdown,html渲染放缓存。
我的项目里没有markdown,但是对用户输入涉及很多转换处理。把转换处理后的html放入redis,设置一个较长缓存时间1个月,这样就兼顾了原始输入的保留和渲染效率。