{"repo":"TurnerSoftware/CacheTower","free":true,"listed":false,"github":"https://github.com/TurnerSoftware/CacheTower","clone":"git clone https://github.com/TurnerSoftware/CacheTower.git","description":"An efficient multi-layered caching system for .NET","language":"C#","stars":629,"topics":["redis-caching","memory-cache","caching-library","caching","cachemanager","protobuf","json","redis","dotnet","cache"],"license":"MIT","category":"databases-storage","readme_excerpt":"Cache Tower An efficient multi-layered caching system for .NET Overview Computers have multiple layers of caching from L1/L2/L3 CPU caches to RAM or even disk caches, each with a different purpose and performance profile. Why don't we do this with our code? Cache Tower isn't a single type of cache, its a multi-layer solution to caching with each layer on top of another. A multi-layer cache provides the performance benefits of a fast cache like in-memory with the resilience of a file, database or Redis-backed cache. This library was inspired by a blog post by Nick Craver about how Stack Overflow do caching. Stack Overflow use a custom 2-layer caching solution with in-memory and Redis. 📋 Features - High performance with low allocations (see comparison to other caching solutions). - Local system caching with in-memory and file-based caches. - Distributed system caching with MongoDB and Redis. - Supports one or more cache layers, allowing a cache that has the best of all worlds. - Background refreshes of non-expired but \"stale\" data, helping avoid expired data cache misses. - Local refresh locking, guaranteeing only 1 factory call per key locally. - Distributed refresh locking, guaranteeing only 1 factory call per key across multiple application instances. - Distributed evictions, helping to keep caches across multiple application instances the same. - All-async API, ready for high performance workloads. - Targets minimum .NET Standard 2.0 for wide compatibility (.NET Framework ","default_branch":null,"files":null,"tree":[],"storefront":"/r/TurnerSoftware","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/TurnerSoftware/CacheTower/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}