我需要在我的数据库中存储大型(30K未压缩)的JSON字符串。我使用gzip压缩字符串,因此使用MySQL的BLOB数据类型来存储它。但是,只有5%的请求包含唯一的数据,并且只有唯一的数据需要存储在数据库中。将大型json字符串存储到数据库+散列表
我的方法如下。
array_multisort
数据(数组[a, b, c]
几乎相同[a, c, b]
)。json_encode
数据(json_encode
比serialize
更快;我们需要字符串数组表示用于步骤)。sha1
数据(比md5
慢,虽然碰撞的可能性较小)。- 检查数据库中是否存在散列。
-
- 存在:请勿插入数据。
- 新功能:gzip数据并将其存储在散列中。
是否有这事(除了JSON数据存储到数据库中的第1名),听起来腥或应该做不同的方式?
数据库每个月都有大约1kk独特的记录被创建。
听起来像是一个很好的方法 – Scuzzy
有多大? – Sysyphus
30k未压缩。自然地,由于它是纯文本数据,因此更少。 – Gajus