DON'T ABSTRACT caching
In .NET Core, the recommended way to handle caching is to use the built-in caching API provided by the framework, which allows you to easily cache data in your application and improve its performance.
The .NET Core caching API provides a number of built-in caching providers, such as the MemoryCache and DistributedCache, that can be easily configured and customized to meet your specific caching needs. Additionally, you can also create your own custom caching providers by implementing the IDistributedCache interface, which allows you to integrate with any third-party caching system of your choice.
One of the key advantages of using the built-in caching capabilities of .NET Core is that it eliminates the need to create your own abstraction layer for caching. Instead, you can simply use the built-in caching interfaces and providers provided by the framework, and let the framework handle the details of caching.
By leveraging the built-in caching capabilities of .NET Core, you can simplify your code, improve maintainability, and avoid the complexity that can come with creating and maintaining your own abstraction layer for caching.