{"repo":"hit-box/hitbox","free":true,"listed":false,"github":"https://github.com/hit-box/hitbox","clone":"git clone https://github.com/hit-box/hitbox.git","description":"Async caching framework for Rust with Tower middleware, stale-while-revalidate, dogpile prevention, and pluggable backends (Moka, Redis, FeOxDB)","language":"Rust","stars":144,"topics":["cache-backend","cache","rust","axum","tokio","distributed-cache","in-memory-cache","reqwest","caching","redis"],"license":"MIT","category":"databases-storage","readme_excerpt":"Hitbox Highly customizable async caching framework for Rust designed for high-performance applications. Protocol-agnostic async core + first-class HTTP support via hitbox-http. Pluggable backends from in-memory to distributed solutions such as Redis. Built on tower, works with any tokio-based service. There are several common approaches to caching. The first is a low-level approach where you work directly with a cache instance, calling get , set , and delete methods and deciding exactly when and where to use them in your code. The second is a middleware approach where a caching layer wraps your handlers or services transparently, keeping your business logic clean and business-focused. The third is function-level memoization — like Python decorators — where you simply annotate a function and work with it as if no caching exists. Hitbox supports the second and third approaches, keeping caching logic out of your business code in both cases. While Hitbox is designed for large, high-load projects, it works equally well for small and simple ones. The configuration complexity scales with your project: simple projects need only simple settings. - Motivation - Quick Start - Features - Project Structure - Benchmarks - License Motivation Every real-world system brings a combination of shared challenges and unique constraints. We tried using existing caching frameworks for our services, but each time they failed to fully match our requirements. As a result, we repeatedly ended up buildin","default_branch":null,"files":null,"tree":[],"storefront":"/r/hit-box","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/hit-box/hitbox/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."}