相关疑难解决方法(0)

Spring RedisTemplate:将多个Model类序列化为JSON.需要使用多个RedisTemplates吗?

我正在使用Spring Redis支持在Redis中保存我的对象.

我有几个处理不同Model类的DAO:

例如:'ShopperHistoryDao'将保存/检索'ShopperHistoryModel''ShopperItemHistoryDao'的对象,它将处理'ItemHistoryModel'的对象

我想使用'JacksonJsonRedisSerializer'将对象序列化/反序列化为json.

但是在JacksonJsonRedisSerializer的构造函数中,它需要一个特定的Model类.

JacksonJsonRedisSerializer(Class<T> type)
Run Code Online (Sandbox Code Playgroud)

这是否意味着,我必须为每个不同的Model类配置单独的RedisTemplate并在适当的DAO实现中使用它们?

就像是 :

<bean id="redisTemplateForShopperHistoryModel" class="org.springframework.data.redis.core.RedisTemplate">
    <property name="connectionFactory" ref="jedisConnectionFactory" />
    <property name="valueSerializer">
        <bean id="redisJsonSerializer" 
                        class="org.springframework.data.redis.serializer.JacksonJsonRedisSerializer">
            <constructor-arg type="java.lang.Class" value="ShopperHistoryModel.class"/>
        </bean>   
    </property>
</bean>


<bean id="redisTemplateForItemHistoryModel" class="org.springframework.data.redis.core.RedisTemplate">
    <property name="connectionFactory" ref="jedisConnectionFactory" />
    <property name="valueSerializer">
        <bean id="redisJsonSerializer" 
                        class="org.springframework.data.redis.serializer.JacksonJsonRedisSerializer">
            <constructor-arg type="java.lang.Class" value="ItemHistoryModel.class"/>
        </bean>   
    </property>
</bean>
Run Code Online (Sandbox Code Playgroud)

java serialization spring json redis

20
推荐指数
2
解决办法
2万
查看次数

标签 统计

java ×1

json ×1

redis ×1

serialization ×1

spring ×1