SPRING-CHACE 微服务协作 由于出色的易用性,Spring-Cache 在各种项目中使用非常广泛,并且各种缓存组件也有这良好的支持,从老牌的Ehcache到Redis,本达到开箱即用的程度。只需要简单的几个注解就可以开启缓存来提升性能。 本文并不介绍SpringCache的使用,主要记录在微服务环境下遇到的实际问题,与一种解决思路 背景 SHADOW最近的在做的项目由于各种配置类的数据较多,并且可能需要跨库查询, 显然从数据库查询显然不是很好的方式。并且多库多表代码量多且重复度高。 考虑到性能与开发的效率,而且数据的变更频率其实不高,预估1小时的同步周期就可以满足业务需求,所以打算把配置类数据和部分业务数据整合抽取到Redis。 很显然,Spring-Cache是一个非常不错的选择,业务模块通过@Cacheable 从Redis中获取数据,数据模块同样通过@Cacheable定时将数据同步到Redis。各个模块各区所需。 大致示意图如下: 问题 想法很好,写了两个例子开始测试,把部分数据同步到redis,然后应用再写一个缓存接口,方法打上@Cacheable,例如同步和模块都是 // 数据模块Bean package com.shadow.data; class Ticket { private String field1; ... private String