I am using Spring Redis support to save my objects in Redis.
I have several DAOs which handle different Model classes:
For example, ShopperHistoryDao
save/retrieve objects of ShopperHistoryModel
, ShopperItemHistoryDao
save/retrieve objects of ItemHistoryModel
.
I want to use JacksonJsonRedisSerializer
to serialise/deserialize my objects to/from json.
But in the constructor of JacksonJsonRedisSerializer, it takes one specific Model class.
JacksonJsonRedisSerializer(Class<T> type)
Does that mean, I have to configure separate RedisTemplates
for each different Model class and use them in appropriate DAO implementation?
Something like:
<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>