Я использую Spring поддержку Redis для сохранения моих объектов в Redis.
У меня есть несколько DAO, которые обрабатывают разные классы Model:
например: "ShopperHistoryDao", который будет сохранять/извлекать объекты "ShopperHistoryModel", "ShopperItemHistoryDao", который будет обрабатывать объекты "ItemHistoryModel"
Я хочу использовать "JacksonJsonRedisSerializer" для сериализации/десериализации моих объектов в/из json.
Но в конструкторе JacksonJsonRedisSerializer он принимает один конкретный класс модели.
JacksonJsonRedisSerializer(Class<T> type)
Означает ли это, что мне нужно настроить отдельные RedisTemplates для каждого класса модели и использовать их в соответствующей реализации 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>