目前我将 Redis 用于以下目的:
- 缓存网页。
- 缓存 SQL 查询导致单一结果。
例如:
@Cacheable(value = "memberCache", key = "#username.concat('')")
public MemberModel findByUsername(String username) {
return memMapper.findByUsername(username);
}
但问题是如何缓存导致多个结果的 SQL 查询。
例如:
public List<MemberModel> findWhichAgeBiggerThan(int age) {
return memMapper.ageBiggerThan(age);
}
现在结果变成了List
. 当然我也可以缓存这个结果,但是如果一个新用户刚刚注册到系统,这个查询的结果可能会改变。如果发生这种情况,缓存将是陈旧的。如何解决这样的问题?
非常感谢!