使用Redis和MySQL实现DAO

时间:2014-12-24 14:43:11

标签: java mysql spring redis

我正在开发一个同时使用MySQL服务器和Redis服务器的Web应用程序 我遵循DAO设计模式,我在确定接口的实现时遇到了麻烦 以下是手头的问题:

  1. 界面是否应包含MySQL和Redis的所有功能?
  2. 我应该分别为MySQL和redis实现接口吗?或者它应该是两者的一个实现?
  3. 如果加入了实现,我每次如何选择dataSource?
  4. 我正在使用Spring Framework连接到数据源并运行各种查询 到目前为止,我只使用Spring JDBCTemplate和Tomcat连接池实现了MySQL部分。我很乐意就如何将Redis位与Spring Framework集成来获得一些建议

2 个答案:

答案 0 :(得分:2)

定义一个接口和两个实现:一个用于MySQL,另一个用于Redis。然后,在服务层中,注入适当的DAO接口实现。

如果您有要求首先在Redis上搜索数据的要求,如果它不存在则查看MySQL,那么您应该在服务层实现,而不是在DAO中实现。请记住,DAO应该只包含与数据源通信所必需的逻辑。

答案 1 :(得分:0)

你可能知道DAO是技术的理想选择。

界面界面应该包含与您的商务对象一起工作的功能,因此,您的界面必须包含完整的功能。

传统实现中DAO的一个问题是您必须将DAO之间的连接作为参数传递以确保事务。在Spring Framework上完成的IoC没有发生这种情况。

Spring决定DAO的实现,因此您必须在注入引擎上进行配置。对于池,它取决于您使用的redis客户端。