Использование одного и того же Redis Cache для вставки различных типов объектов - PullRequest
0 голосов
/ 08 апреля 2020

Возможно и правильно ли использовать один и тот же кэш Redis для хранения разных типов объектов? Я знаю, что он поддерживает несколько DS. В моем сценарии этот объект будет определенным пользователем объектом. Кроме того, будут 2 разных метода, которые будут заполнять один и тот же кэш Redis разными типами ключей, например один заполняет CustomerInfo против customerId, а другой - заполнять кэш AccountInfo против AccountId.

* 1006. * CacheConfig.class:
@Configuration
public class CacheConfig extends AbstractCloudConfig {

    @Autowired
    Environment env;

    @Bean
    public RedisConnectionFactory brRedisFactory() {
    return connectionFactory().redisConnectionFactory(env.getProperty("redis-cache"));
    }

    @Bean
    public RedisTemplate<String, Object> brRedisTemplate() {
        RedisTemplate<String, Object> redisTemplate = new RedisTemplate<String, Object>();
        redisTemplate.setConnectionFactory(brRedisFactory());
        return redisTemplate;
    }

     @Bean(name = "myCacheMngr")
     public CacheManager cacheManager() {
        RedisCacheManager cacheManager = new RedisCacheManager(brRedisTemplate());
        cacheManager.setUsePrefix(true);
        cacheManager.setTransactionAware(true);
        return cacheManager;
    }

}

Метод заполнения данных клиента в Redis Cache. Будет аналогичный метод для заполнения кэша Redis данными учетной записи для ключа «accountId».

@Cacheable(value="redis-cache",key ="#customerId")
public FinancialPlanningDTO retriveCustomerdetails( String customerId, String modelId, String requestId) throws COException {
    CustomerInfo csDTO;
    try {
        csDTO = csDTOAdapterImpl.
        getCustomerDetails(customerId);
    } catch (Exception e) {
        e.printStackTrace();
    }
    return financialPlanningDTO;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...