了解Dao模式,它可以用于从缓存中检索数据吗?

时间:2016-01-25 12:42:13

标签: java caching dao

我在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打算与数据源或其他持久存储一起工作?

1 个答案:

答案 0 :(得分:1)

Data Access Object模式不能解决数据的内容或访问的位置。从DAO访问缓存是否有意义取决于系统的其他架构。