Description
This issue is intended to be a discussion/feature request about the possibilities of caching improvements. There are two main areas that I would like to discuss:
Toggleable cache types
The main goal with being able to enable and disable particular caches would be to save memory on storing stuff that the bot would not need to access. For instance, bots could disable emoji caching if they simply didn't use emojis.
External caching
Being able to use an external cache like Redis would be a benefit for any bot that needs other software to have access to its data. I'm particularly thinking of web interfaces in this case, but the applications are wider. This has the added benefit of allowing the cache to be decoupled from the bot and moved where needed.
This would make cache access an asynchronous operation which would have a significant impact on a large portion of the library.