java—使用相同的redis缓存插入不同类型的对象

mrphzbgm  于 2021-06-09  发布在  Redis
关注(0)|答案(0)|浏览(249)

使用相同的redis缓存来存储不同类型的对象是否可能而且正确?我知道它支持多个ds。在我的场景中,对象将是用户定义的对象。此外,将有两种不同的方法,将填补相同的redis缓存与不同类型的密钥一样,一个是填补 CustomerInfo 反对 customerId 另一个是用 AccountInfo 反对 AccountId .
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缓存中填充客户数据的方法。将有类似的方法来填充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;
}

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题