繁体   English   中英

将Json对象存储到数据库

[英]Storing Json object to database

我从数据库运行非常复杂的报告。 到目前为止,我正在返回一个复杂的json对象,javscript正在呈现报告。 但随着它越来越多,创造这个json对象需要花费很长时间。

我想用另一种方法取而代之。 用户将创建生成报告的请求,服务器端进程可以生成json并将其存储以供以后使用,用户将通过电子邮件发送链接。

在数据库中存储json对象是否安全? 存储它的主要原因是用户将要运行报告的列永远不会被修复。 我应该选择NoSql吗?

提前致谢 。

将JSON存储在数据库中应该是安全的。 JSON是简单的文本,所以在这个意义上,我认为这种方法没有任何问题。

在您提到的特定情况下,您应该考虑使用Redis这样的键值存储。 你可以存储,比如user_id - > json_object。 键值存储非常适合缓存,这实际上就像你正在做的那样。

在一般情况下,存储JSON是可能的,但它失去了一个重要的事情:如何在SQL查询中使用数据的语义并不明显。 例如,假设我们存储以下记录:

{'color': blue, 'height': '40px'}  
{'color': blue, 'height': '50px'}  
{'color': red, 'height': '40px'}  

作为数据库中的字符串。

如果我们想要识别所有颜色为“蓝色”的元素,那么我们唯一的选择是在每个字符串元素中搜索字符串“%blue%”。 这既昂贵又容易出错。 您可以考虑分解JSON并将其存储为数据库或移动到某种键值对或其他存储。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM