MessagingRedisCache is an implementation of IDistributedCache using RedisCache as a base implementation. MessagingRedisCache will utilize Redis pub/sub to ensure that memory cache entries can be synchronized in a distributed system. This makes it a viable backing store for HybridCache, where it can evict IMemoryCache entries in distributed systems.
L1L2RedisCache is an implementation of IDistributedCache, leveraging IMemoryCache as a level 1 cache and MessagingRedisCache as a level 2 cache. Level 1 evictions are managed via MessagingRedisCache's Redis pub/sub.