Skip to content
FrogDB Logo

FrogDB Documentation

A Redis 8.x-compatible, memory-first database built in Rust.

Redis 8.x Compatible

Full RESP2/RESP3 wire protocol support. Core types, bitmaps, JSON, time series, vector sets, probabilistic structures, geospatial, pub/sub, Lua scripting, search, and more.

Clustering & Replication

Distributed hash slots with automatic sharding, Raft-based consensus for cluster state coordination, and read replicas.

Persistent Storage

RocksDB-backed WAL with configurable durability modes (write-through or async). No separate AOF or RDB files to manage.

Operations

Prometheus metrics, Grafana dashboards, OpenTelemetry tracing, DTrace probes, HTTP debug UI, and online configuration changes.

Battle-Tested

Shuttle and Turmoil deterministic concurrency testing, Jepsen verification (linearizability and serializability), fuzz testing, and a Redis regression compatibility suite.

Built with Rust

Memory-safe, high-performance implementation with Tokio async I/O and zero-copy RESP parsing.

FrogDB supports the full Redis 8.x feature set:

  • Core types — Strings, Lists, Sets, Sorted Sets, Hashes, Streams
  • Bitmaps & Bitfields — BITCOUNT, BITOP, BITPOS, BITFIELD
  • JSON — RedisJSON-compatible document storage with JSONPath
  • Time Series — Gorilla-compressed time series with aggregation and downsampling
  • Vector Sets — Approximate nearest-neighbor search
  • Probabilistic — Bloom filters, Cuckoo filters, HyperLogLog, Count-Min Sketch, Top-K, T-Digest
  • Geospatial — Geohash indexing and distance queries
  • Pub/Sub — Channel and pattern-based publish/subscribe, event sourcing
  • Scripting & Transactions — Lua scripting, MULTI/EXEC
  • Search — Full text search, secondary indexing, vector search, aggregations
Terminal window
# Start FrogDB
frogdb-server --port 6379
# Connect with redis-cli
redis-cli -p 6379
# Use familiar Redis commands
127.0.0.1:6379> SET greeting "Hello from FrogDB!"
OK
127.0.0.1:6379> GET greeting
"Hello from FrogDB!"