Java 使用注释控制Redis对象序列化?

Java 使用注释控制Redis对象序列化?,java,spring,redis,Java,Spring,Redis,当您使用SpringRedis框架将一个对象持久化到Redis时,该对象将使用object属性中给定的键名保存到Redis 鉴于: Class Person { String name; String age; //getter and setter. } 现在,当使用 redisTemplate.opsForHash().put("PERSON", device.hashCode(), person); Redis中的结果如下所示 PERSON SOMEHAS

当您使用SpringRedis框架将一个对象持久化到Redis时,该对象将使用object属性中给定的键名保存到Redis

鉴于:

Class Person {

    String name;
    String age;

    //getter and setter.

}
现在,当使用

redisTemplate.opsForHash().put("PERSON", device.hashCode(), person);
Redis中的结果如下所示

PERSON SOMEHASH {name:abc,age:30}
保存数据非常方便,但是根据开发人员想要的命名格式保存注释会更灵活吗


SpringDataRedis使用序列化程序来控制数据的表示方式。SpringDataRedis带来了序列化程序实现

看起来您正在使用用Jackson2构建的JSON序列化程序。这意味着您可以通过应用于类来控制输出

class Person {

    @JsonProperty(Person_NAME)
    String name;

    @JsonProperty(Person_AGE)
    String age;

    //getter and setter.

}
class Person {

    @JsonProperty(Person_NAME)
    String name;

    @JsonProperty(Person_AGE)
    String age;

    //getter and setter.

}