ideawu/ssdb

multiHset序列化有些问题

darkice1 opened this issue · 1 comments

写入代码

ArrayList<KeyValue> kvlist = new ArrayList<>();
byte[] bs = Tool.kryoSerializeToCompressBytes(oldmap);
Log.OutLog("#### %s %d", skey, bs.length);
kvlist.add(new KeyValue(skey,bs, Charset.defaultCharset()));
ssdb.multiHset(ExprivateSql.REALBIGDATA,kvlist);

读取代码

				val kvlist = ssdb.hscan(ExprivateSql.REALBIGDATA,"","",max)
				kvlist?.forEach { kv->
					val json = JSONObject.parseObject(kv.keyString)
					val name = json.getString("name")
					var realdb = map[name]
					if (realdb == null)
					{
						realdb = Class.forName(name).newInstance() as RealDb
						map[name] = realdb
						println("$name ${kv.keyString} ${kv.value.size}")
						val datamap = Tool.kryoCompressBytesUnSerialize(kv.value) as ConcurrentHashMap<String, Row>
						realdb.plus(datamap)
					}
				}

发现写入时 byte 长度是167。读取时 bs 长度时270。导致无法正确序列化。 不知道是我哪里使用有问题,请帮看一下。

@darkice1 这个是我这边的问题,你提错项目了