Apollo DataSource with Redis

Hello! I am interested in finding out whether when replacing the inMemoryCache provided by default by Apollo dataSource with a Redis cache - do I have to call my query my DB or do I have to load/unload my Redis client and then request data from it in the dataSource methods ? What about the cache keys? Does Apollo just create one for each used table of the database? As far as I have researched into this topic , it seems that the dataSource class takes care of everything - just pass the cache in the ApolloServer initialization , is it correct (btw if that’s the case it’s quite phenomenal)? Thank you very much !

P.S. Is this functionality included in the generic DataSource?