com/twitter/finagle/memcached/客户端扩展 BaseClient[ChannelBuffer]
所以集合定义为
set(key: String, flags: Int, expiry: Time, value: ChannelBuffer): Future[Unit]
我的问题是如何将我的 java 对象转换为 netty ChannelBuffer,或者我有其他方法来设置 String 以外的对象?
谢谢
com/twitter/finagle/memcached/客户端扩展 BaseClient[ChannelBuffer]
所以集合定义为
set(key: String, flags: Int, expiry: Time, value: ChannelBuffer): Future[Unit]
我的问题是如何将我的 java 对象转换为 netty ChannelBuffer,或者我有其他方法来设置 String 以外的对象?
谢谢
最后,我使用 Thrift 进行序列化。这只是我的情况,因为我大量使用节俭。
thrift 序列化的缺点:您必须在 IDL 中定义对象的结构。
优点是:简单
TSerializer serializer = new TSerializer();
byte[] bytes = serializer.serialize(obj);
ChannelBuffer buffer = ChannelBufferUtils.bytesToChannelBuffer(bytes);
由你决定!你可以使用任何你想要的序列化库,有很多选择。memcached 仅将其视为字节数组。