0
我在应用程序中遇到ehcache问题。我想要在缓存中存储两个有两个不同的db查询的方法。问题是第二种方法的数据存储在第一种方法的数据中,并且当用户发出多个请求时,数据每次都被复制。Spring - ehcache不起作用
例如:
- 首先呼叫 - >
- 方法1返回0商品
- 方法2返回2项
- 第二呼叫 - >的方法是高速缓存和只是返回存储的数据,但...
- 方法1返回2项¿?
- 方法2返回2项
- 第三呼叫 - >
- 方法1个返回4项¿?
- 方法2回2项
DAO类:
public class DataDAOImpl extends JdbcDaoSupport implements DataDAO {
@Autowired
private JdbcTemplate jdbcTemplate1;
@Autowired
private JdbcTemplate jdbcTemplate2;
@PostConstruct
private void initialize() {
setJdbcTemplate(jdbcTemplate1);
}
@Autowired
private Environment env;
@Cacheable("data_1")
public List<Data> getData1(String data, String start_date, String end_date) {
List<Data> list_data_1 = (List<Data>) jdbcTemplate1.query(
env.getProperty("sql_data_1"),
new BeanPropertyRowMapper<>(Data.class),
data, start_date, end_date);
return list_data_1;
}
@Cacheable("data_2")
public List<Data> getData2(String data, String start_date, String end_date) {
List<Data> list_data_2 = (List<Data>) jdbcTemplate2.query(
env.getProperty("sql_data_2"),
new BeanPropertyRowMapper<>(Data.class),
data, start_date, end_date);
return list_data_2;
}
}
主要类:
List<Data> arrayData = new ArrayList<Data>();
arrayData = dataDAO.getData1(data, start_date, end_date);
arrayData.addAll(dataDAO.getData2(data, start_date, end_date));
太谢谢你了!
不错,现在很有用,非常感谢。 – Yeray