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