↑ ↓ to navigate · Enter to openCacheStorm docs

EVERYTHING IN ITS ELEMENT

One binary.
A whole lot of possibility.

A capable data engine, a familiar protocol and the tools to run it your way. Build on a foundation you can understand.

01 / INSIDE THE BINARY

A focused engine.
Room to go fast.

256 shards distribute keys across a concurrent in-memory store. A Go runtime handles connections, command routing and data structures inside a single process.

  • Native Go build without a CGO toolchain
  • Goroutine-based client connections
  • Configurable memory limits and eviction
  • Sequential and parallel benchmarks documented
Go deeper
the fast path
$ redis-cli -p 6380

127.0.0.1:6380> SET cache:home "ready" EX 60
OK

127.0.0.1:6380> GET cache:home
"ready"
02 / INSIDE THE BINARY

Familiar commands.
More ways to build.

Redis-compatible protocol handling meets rich data structures. Start with strings and hashes, then build with streams, sorted sets and CacheStorm extensions.

  • Strings, lists, hashes, sets and sorted sets
  • Streams, Pub/Sub and transactions
  • Lua scripting and function support
  • Tags, namespaces and extended modules
Go deeper
a shape for every idea
HSET user:42 name "Ada" language "Go"
ZADD leaderboard 2400 "ada"
XADD events * type pageview path /home

SET product:1 "chair" TAGS catalog
TAGKEYS catalog
03 / INSIDE THE BINARY

Persistence.
On your terms.

Use the engine as an ephemeral cache, or enable AOF and snapshots for data you want to recover after a restart. The configuration keeps the choice explicit.

  • Append-only file persistence
  • Configurable AOF synchronization
  • Snapshot interval and data directory settings
  • Container-friendly persistent volumes
Go deeper
cachestorm.yaml
persistence:
  enabled: true
  aof: true
  aof_sync: "everysec"
  data_dir: "./data"
  snapshot_interval: "5m"
04 / INSIDE THE BINARY

Access with
intention.

Build clear boundaries around your data with password authentication, TLS and per-user access rules. Keep your configuration aligned with your deployment.

  • TLS certificate and key configuration
  • Server and HTTP authentication
  • ACL command grants and key patterns
  • HTTP identity and command enforcement
Go deeper
good boundaries
server:
  bind: "127.0.0.1"
  port: 6380
  tls_cert_file: "/etc/tls/server.crt"
  tls_key_file: "/etc/tls/server.key"

# Configure passwords and scoped ACL users
# before exposing your instance.
05 / INSIDE THE BINARY

A clear view
under the hood.

Metrics, HTTP status endpoints and slow logs make the engine easier to operate. Use your existing monitoring stack to watch the signals that matter.

  • Built-in Prometheus metrics plugin
  • HTTP health and statistics endpoints
  • Configurable slow-log threshold
  • Structured JSON logging
Go deeper
observability included
plugins:
  metrics:
    enabled: true
    port: 9090
    path: "/metrics"
  slowlog:
    enabled: true
    threshold: "10ms"
    max_entries: 128
06 / INSIDE THE BINARY

One node today.
Your topology tomorrow.

Clustering, replication and Sentinel-related commands provide the building blocks for multi-node operation. Evaluate failover and client behavior with your workload.

  • Gossip-based cluster membership
  • Hash-slot routing
  • Primary and replica configuration
  • Cluster and Sentinel command groups
Go deeper
a connected foundation
cluster:
  enabled: true
  node_name: "node1"
  bind_addr: "0.0.0.0"
  bind_port: 7946
  seeds:
    - "node2:7946"
    - "node3:7946"