Redis hash数据类型反序列化问题

日期:2019-01-15       浏览:448

一 问题

向redis 中保存hash数据类型时,保存的对象中有 Map 类型的属性,切 Map 的 key 是 Integer 类型,在从redis中将数据取出反序列化的时候,Map 的key会变为 String 类型。
  • 例子
public class Test {
    private String name;
    private Integer age;
    private Map<Integer, String> maps;
}
将以上对象保存到 redis 的 hash 数据类型中。
  • 取出结果
{
    "name": "xxx",
    "age": 20,
    "maps": {
        "1": "aaa", // 这里的 key 变为了 String 类型
        "2": "bbb"
    }
}
以上取出来的数据,我们通过 test.getMaps().get(1) 取到的结果是 null。

二 解决方法

在 redis 取值出来时针对 maps 的 key 做一次类型转换。
扫码关注有惊喜

(转载本站文章请注明作者和出处 qbian)

暂无评论

Copyright 2016 qbian. All Rights Reserved.

文章目录