I'm developing a web application that uses both a MySQL server and a Redis server.  

I followed the DAO design pattern and I'm having trouble deciding on the implementation of the interface.  

Here are the questions at hand:

1. Should the interface include all of the functionality for both the MySQL and Redis?
2. Should I implement the interface for both the MySQL and redis separately? or should it be one implementation for both?
3. If the implementation is joined, how do I choose the dataSource each time?

I'm using the Spring Framework the connect to the data sources and run the various queries.  

So far, I've only implemented the MySQL part using the Spring JDBCTemplate and with Tomcat connection pool. I'd be happy to get some advice on how to integrate the Redis bit with the Spring Framework