Redis lua 脚本如下:
local vv = cmsgpack.unpack(msgpack)
local mv = {[\"v\"]=v, [\"t\"]=t, [\"tp\"]=tp, [\"pt\"] = pt}
table.insert(vv, mv)
msgpack = cmsgpack.pack(vv)
我用java得到表:
@Message
public static class UserMessage {
public String v;
public long t;
public String tp;
public String pt;
}
String ret = redisClient.hget(uid, "m:v");
byte[] bytes = ret.getBytes();
MessagePack msgpack = new MessagePack();
ByteArrayInputStream in = new ByteArrayInputStream(bytes);
Unpacker unpacker = msgpack.createUnpacker(in);
UserMessage[] dst = unpacker.read(UserMessage[].class);
但它是错误的,它无法正确解包,我不知道我的错在哪里?这个问题困扰了我很久...