redis中的Messagepack

时间:2015-07-16 12:32:22

标签: c++ redis

我正在使用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()})

1 个答案:

答案 0 :(得分:1)

明智取决于你想要实现的目标。你没有解释为什么你使用Redis List数据结构来存储你的msgpack数据,所以除非有一些未明确的理由这样做,否则我会选择简单的字符串。 / p>

此外,提供的示例对IMO没有意义,因为您没有为rpush提供密钥名称。 编辑:感谢您更正了代码段

最后,如果您正在使用msgpack作为数据,那么您可以使用Lua脚本执行非常有趣的事情,因为Redis提供了cmsgpack库来处理打包消息。