我正在使用c ++在messagepack中创建一个大型地图。我需要多种语言才能访问数据。
如何将其作为字符串存储在redis中?是否有一种惯用的方式将其放入内存中或者我应该使用以下内容吗?
msgpack::packer<msgpack::sbuffer> pk2(&buffer2);
pk2.pack_map(2);
pk2.pack(std::string("x"));
pk2.pack(3);
pk2.pack(std::string("y"));
pk2.pack(3.4321);
Redox rdx;
rdx.connect()
rdx.command<int>({"rpush", "key_name", buffer2.data()})
答案 0 :(得分:1)
明智取决于你想要实现的目标。你没有解释为什么你使用Redis List数据结构来存储你的msgpack数据,所以除非有一些未明确的理由这样做,否则我会选择简单的字符串。 / p>
此外,提供的示例对IMO没有意义,因为您没有为rpush提供密钥名称。 编辑:感谢您更正了代码段
最后,如果您正在使用msgpack作为数据,那么您可以使用Lua脚本执行非常有趣的事情,因为Redis提供了cmsgpack库来处理打包消息。