Tagcache

ORGANIZATION
Open source
caching
inmemory

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

Custom contribution
Donation
Make a custom one-time or recurring contribution.
Custom contribution
Backer

Become a backer for $5.00 and support us

Starts at
$5 USD
Custom contribution
Sponsor

Become a sponsor for $100.00 and support us

Starts at
$100 USD

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. 
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