簡體   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