如何在数据库中存储带换行的文本?YouTube与Stack Overflow评论用什么数据库?
问题解答
1. MongoDB存储带换行符的文本方案
MongoDB的BSON字符串类型原生支持UTF-8编码,可直接存储带换行符的文本,\n、\r\n这类换行符都会被原样保留,无需额外做转义处理。你直接把前端提交的带换行的文本作为普通字符串存入对应字段即可,读取时也会原样返回。
如果前端需要展示换行效果,可给展示元素添加white-space: pre-wrap的CSS属性,或者将返回文本中的换行符替换为<br>标签后再渲染即可。如果需要同时存储其他富文本格式,也可直接存入Markdown格式字符串或序列化后的JSON结构,都可以正常保留换行。
2. YouTube存储用户评论使用的数据库
YouTube的存储架构经过多轮迭代,目前用户评论的核心数据主要存储在Google自研的分布式关系型数据库Spanner上,它支持全球范围的强一致性和高可用性,可适配YouTube超大规模的评论读写、多地区分发需求。早期YouTube也使用过MySQL、Bigtable等存储组件,现在会配套使用Memcached等内存缓存做热点评论的查询加速。
3. Stack Overflow存储用户评论使用的数据库
Stack Overflow全站的核心业务数据,包括用户评论、问答内容、用户信息等,全部存储在Microsoft SQL Server上,采用读写分离的SQL Server集群架构承载高并发请求,只有非核心的缓存、全文检索类场景才会用到Redis、Elasticsearch等其他组件,用户评论这类结构化核心数据全程存储在SQL Server中。
内容的提问来源于stack exchange,提问作者dhirajkushwaha
相关产品推荐
相关产品推荐

