redisTemplateストアのデータを使用して、そこに\ XAC \ XED \ X00 \ x05tの\のX00

この記事の開発環境:SpringBoot + RedisTemplate

コード:

    / ** 
     *缓存地図
     * 
     * @paramのキー
     * @param データマップ
     * @return 
     * / 
    @Override 
    パブリック <T> HashOperations <文字列、文字列、T> setCacheMap(文字列キーマップ<文字列、T> データマップ){ 

        HashOperations hashOperations = redisTemplate.opsForHash()。
        もしNULL!= データマップ){
             ため(のMap.Entry <文字列、T> エントリ:dataMap.entrySet()){ 
                hashOperations.put(キー、entry.getKey()、entry.getValue())。
            } 
        }
        返すhashOperationsを。
    }

データベースに、私たちはそのキー、ハッシュキー/値は\ XAC \ XED \ X00 \ x05tの\のX00の接頭辞を持っていました。

以下のように、後に、設定を追加しました:

輸入com.fasterxml.jackson.annotation.JsonAutoDetect。
輸入com.fasterxml.jackson.annotation.PropertyAccessor。
輸入com.fasterxml.jackson.databind.ObjectMapper。
輸入org.springframework.context.annotation.Bean。
輸入org.springframework.context.annotation.Configuration。
輸入org.springframework.data.redis.connection.RedisConnectionFactory;
輸入org.springframework.data.redis.core.RedisTemplate。
輸入org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer。
輸入org.springframework.data.redis.serializer.StringRedisSerializer。

@Configuration 
パブリック クラスRedisConfig { 

    @Bean 
    公共RedisTemplate redisTemplate(RedisConnectionFactoryはconnectionFactory){ 

        RedisTemplateテンプレート = 新しい RedisTemplate <> (); 

        template.setConnectionFactory(はconnectionFactory)。

        // 使用Jackson2JsonRedisSerializer来序列化和反序列化のRedis的値值
 //
         Jackson2JsonRedisSerializerシリアライザ= 新しい Jackson2JsonRedisSerializer(オブジェクト。クラス)。

        ObjectMapperマッパー = 新しいObjectMapper(); 

        mapper.setVisibility(PropertyAccessor.ALL、JsonAutoDetect.Visibility.ANY)。

        mapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL); 

        serializer.setObjectMapper(マッパー); 

        template.setValueSerializer(シリアライザ); 

        // Redisのキー値シリアライズとデシリアライズするStringRedisSerializerを使用

        template.setKeySerializer(新しいStringRedisSerializerを()); 


        / *ハッシュ文字列シリアル化メソッド* / 
        template.setHashKeySerializer(新しい新しいStringRedisSerializer()); 
        template.setHashValueSerializer(新しい新しいStringRedisSerializer());
 
        template.afterPropertiesSet(); 

        戻りテンプレート; 

    } 

}

問題を解決するために、コードのこれらの3つの行を追加します。あなたはJSONの機能を使用しない場合は、ObjectMapperコメント関連するコード

おすすめ

転載: www.cnblogs.com/passedbylove/p/11274073.html