我正在使用Jedis作为连接Redis服务器的Java客户端。我还在使用协议缓冲区将数据写入jedis或redis缓存。但我没有找到将protobuf对象写入redis的方法。我是否错过了什么,或者Jedis不提供将protobuf对象作为值存储的方式?
我正在使用Jedis作为连接Redis服务器的Java客户端。我还在使用协议缓冲区将数据写入jedis或redis缓存。但我没有找到将protobuf对象写入redis的方法。我是否错过了什么,或者Jedis不提供将protobuf对象作为值存储的方式?
这是一个晚回答...
你可以将 Protobuf 消息序列化为二进制字符串,并使用 SET
命令将其保存到 Redis 中。然而,每当你需要获取 Protobuf 消息时,你都必须重新获取二进制字符串并对其进行反序列化,即使你只想获取单个字段。
另一种解决方案是使用 redis-protobuf 模块将 Protobuf 消息保存到 Redis 中。通过使用该模块,你可以读取或写入 Protobuf 消息。如果你只需要单个字段,你不需要获取整个消息,redis-protobuf
会返回该字段。
声明:我是 redis-protobuf
的作者。