Tagcache
TagCache is an open-source, tag-aware caching engine that delivers ultra-fast, precise cache control and tools for developers worldwide.
Contribute
Become a financial contributor.
Financial Contributions
Tagcache is all of us
Our contributors 1
Thank you for supporting Tagcache.
About
TagCache — A lightning-fast, tag-aware in-memory cache (Rust)
TagCache is a high-performance, sharded, tag-aware in-memory cache server written in Rust. It’s built for speed, designed for simplicity, and ready for production with HTTP + TCP protocols, a built-in web dashboard, and a full CLI.
🌟 Why TagCache?
The core USP: Native, atomic tag invalidation—even when a key has multiple tags.
Redis and Memcached don’t natively support “invalidate by a single tag across multi-tagged keys” without client-side bookkeeping, Lua scripts, or complex set operations. TagCache does this out of the box: assign any number of tags to keys and invalidate entire slices of cached data with one command—safely and instantly.
Redis and Memcached don’t natively support “invalidate by a single tag across multi-tagged keys” without client-side bookkeeping, Lua scripts, or complex set operations. TagCache does this out of the box: assign any number of tags to keys and invalidate entire slices of cached data with one command—safely and instantly.
This makes TagCache perfect for:
- Web APIs & microservices: bust related pages/lists when a product/user changes.
- Search & feed systems: evict all keys for a topic, category, or tenant.
- E-commerce: purge all SKUs tagged with a brand/promo when upstream data updates.
- CDN/app edges: selective, multi-dimensional invalidation without full cache flushes.
🚀 What you get
- Dual Protocols: JSON HTTP API (8080) for easy integration, TCP (1984) for ultra-low latency.
- Tag-Aware Invalidation: flush tag <tag> clears all keys with that tag—even if keys have multiple tags.
- Atomic Ops: ADD, INCR, DECR with race-condition protection (Redis-like ergonomics).
- Flexible TTLs: millisecond/second precision.
- Production Features: authentication, health checks, rich stats.
- Observability: real-time metrics + a React web dashboard.
- Great DX: full CLI, clean JSON APIs, and a simple config system.
- Portable: native binaries for macOS, Linux, Windows; Homebrew, .deb/.rpm, and Docker images.
- Bench tool included: bench_tcp for realistic throughput/latency testing.
🔬 How it’s built (brief)
- Rust for memory safety and performance.
- Shard-first design (DashMap + hash sharding) for high concurrency.
- Clear separation of server, protocols, auth, and tag index for maintainability.
🧭 Roadmap (highlights)
- Optional persistence & snapshots.
- Replication/clustering with consistent hashing.
- Binary framing for the TCP protocol.
- Extended dashboards and policy-driven eviction.
🤝 What we need funding for
Your support helps us:
- Sustain core development (tag index optimizations, replication, persistence).
- Harden production features (security, rate limits, quotas, better auth flows).
- Improve tooling & docs (client libraries, guides, deployment recipes).
- Maintain packaging & releases across Homebrew, Debian/RPM, Docker, and prebuilt binaries.
- Invest in benchmarks and performance regressions to keep latency low at scale.
📜 License
Rust codebase under a permissive open-source license (Apache-style). Cross-platform builds are provided.
Our team
Md. Aminul Is...
Admin