可以使用Redis哈希实现更复杂的结构化对象映射,Spring Data Redis提供了将数据映射到哈希的各种决策:
- 直接映射,使用HashOperations和序列化程序
- 使用Redis存储库(我暂时不想考虑这个层面的应用,因为这个技术目前应用的可能比较少)
- 使用HashMapper和HashOperations
Hash Mappers
Hash Mappers需要和Redis的哈希类型一起使用,其有多种实现:
- BeanUtilsHashMapper使用Spring的BeanUtils。
- ObjectHashMapper使用对象到哈希映射。
- Jackson2HashMapper使用FasterXML Jackson。
Jackson2HashMapper
Jackson2HashMapper可以将顶级属性映射为Hash字段名称,并且可以选择展平结构。简单类型映射到简单值,复杂类型(嵌套对象、集合、映射等)表示为嵌套JSON。
扁平化为所有嵌套属性创建单独的哈希条目,并且尽可能的解析为简单类型。
嵌套:
展平: