将 golang map[string]interface 存储到数据存储中的最佳方式

场景:我从 MongoDB 读取了 300 KB - 6.5 MB 的任意 JSON 大小。由于它是非常任意/动态的数据,因此我无法在 golang 中定义结构类型,因此我使用了map[sting]interface{}类型。并且使用encoding/jsonUnmarshal方法解析 JSON 数据字符串。一些类似于Generic JSON with interface{} 中提到的内容。

问题:但问题是将字符串 json 解析为 .json 需要更多时间(大约 30 毫秒到 180 毫秒)map[string]interface{}。(对比php使用json_encode/decode/igbinary/msgpack解析json)

问题:有没有办法对其进行预处理并存储在缓存中?

我的意思是解析字符串map[string]interface{}并将其序列化并存储到某个缓存中,然后当我们检索它时,不应该花费太多时间来反序列化并继续执行。

注意:我是 golang 的新手,任何建议都非常有用。谢谢

更新:使用序列化Gobbinary内置的包装和Msgpack实施Golang包都已经尝试过。没有运气,反序列化的时间没有改善。


长风秋雁
浏览 452回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go