我在the official documentation中读到了关于DAO模式的内容,并不清楚它是否可用于从缓存中重新获取数据?
从形式上讲,DAO
是客户端和机制之间的另一个抽象层,从某个地方检索数据。所以,如果数据存在于cahce中,我想我们也可以将DAO称为
public interface UserDao{
//CRUD operations
}
public class UpdatableCachedUserDaoImpl implements UserDao{
//Normal dao
private final UserDao userDao;
private volatile List<User> cache;
//Delegates CRUD operation to cache
//Updates the cache through ScheduledThreadPoolExecutor
//using the Normal Dao
}
但是在DAO中放置这样的缓存相关逻辑是否正确?或DAO打算与数据源或其他持久存储一起工作?
答案 0 :(得分:1)
Data Access Object
模式不能解决数据的内容或访问的位置。从DAO
访问缓存是否有意义取决于系统的其他架构。