天天看點

spring data redis template GenericJackson2JsonRedisSerializer的使用

配置

<!-- redis template definition -->
    <bean id="myRedisTemplate" class="org.springframework.data.redis.core.RedisTemplate" p:connection-factory-ref="jedisConnectionFactory">
        <property name="defaultSerializer">
            <bean class="org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer"></bean>
        </property>
        
    </bean>      

上述配置的後果是:序列化後的key也變成了json

spring data redis template GenericJackson2JsonRedisSerializer的使用

修改配置為以下後:

<bean id="myRedisTemplate" class="org.springframework.data.redis.core.RedisTemplate" p:connection-factory-ref="jedisConnectionFactory">
        <property name="defaultSerializer">
            <bean class="org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer"></bean>
        </property>
        <property name="keySerializer">
            <bean class="org.springframework.data.redis.serializer.StringRedisSerializer" />
        </property>
        <property name="hashKeySerializer">
            <bean class="org.springframework.data.redis.serializer.StringRedisSerializer" />
        </property>
    </bean>      

效果:

spring data redis template GenericJackson2JsonRedisSerializer的使用

用redis desktop developer檢視:

spring data redis template GenericJackson2JsonRedisSerializer的使用

key已經變回了字元串格式。