使用Finagle memcached客户端将对象保存到memcached

时间:2012-09-01 15:15:03

标签: serialization memcached netty finagle

com / twitter / finagle / memcached / Client扩展了BaseClient [ChannelBuffer]

所以集合定义为

set(key:String,flags:Int,expiry:Time,value:ChannelBuffer):Future [Unit]

我的问题是如何将我的java对象转换为netty ChannelBuffer,或者我还有其他方法来设置除String之外的对象?

由于

2 个答案:

答案 0 :(得分:1)

最后,我使用thrift进行序列化。这只是我的情况,因为我大量使用了节俭。

thrift序列化的缺点:你必须在IDL中定义对象的结构。

优点是:简单

TSerializer serializer = new TSerializer();
byte[] bytes = serializer.serialize(obj);
ChannelBuffer buffer = ChannelBufferUtils.bytesToChannelBuffer(bytes);

答案 1 :(得分:0)

取决于你! 你可以使用你想要的任何序列化库,有很多选择。 memcached只将它视为一个字节数组。