Sign inSign up

ianshugarg/vortexkv

By ianshugarg

โ€ขUpdated about 1 month ago

Ultra high-performance in-memory KV engine with native vector search & cyberpunk visual studio.

Image
Machine learning & AI
Developer tools
Databases & storage
0

3.6K

ianshugarg/vortexkv repository overview

VortexKV Logo

โ 

๐ŸŒŒ VortexKV

Hyper-Performance In-Memory Key-Value Engine & Cyberpunk Command Deck

Docker Pulls Image Size GitHub License Multi-Arch 0 CVEs

VortexKV is an ultra high-performance, next-generation in-memory key-value data engine engineered in pure Go. It delivers 14,287,238 ops/sec peak pipelined throughput (GET P=128), 10,000,000 ops/sec (GET P=64), and 210,000+ ops/sec direct concurrency with 111ยตs p50 latency, hardware-accelerated kqueue/epoll multi-reactor engine with thread-affinity pinning, 256 cacheline-padded lock-striped shards, smart socket write coalescing, native AI vector cosine search, Redis Streams, cluster gossip bus, embedded Lua 5.1, Wasm runtime, and an automated Kubernetes operator.

It is drop-in wire compatible with standard Redis clients (redis-cli, Jedis, go-redis, redis-py, ioredis) and ships with an embedded cyberpunk Web Studio Command Deck.


โ ๐Ÿš€ Quick Start

Launch a production-ready VortexKV instance in one command:

docker run -d \
  --name vortexkv \
  -p 7379:7379 \
  -p 7380:7380 \
  -v vortex_data:/data \
  ianshugarg/vortexkv:latest
โ Accessing the Ports:
  • 7379: Redis Wire Protocol (connect using any Redis client or redis-cli -p 7379)
  • 7380: Visual Studio Command Deck & Real-time Metrics (http://localhost:7380โ )

โ ๐Ÿ” Running with Authentication & Custom Memory Limit

Secure your instance and allocate 2GB RAM:

docker run -d \
  --name vortexkv \
  -p 7379:7379 \
  -p 7380:7380 \
  -v vortex_data:/data \
  ianshugarg/vortexkv:latest \
  -requirepass "vortex_secure_2026" \
  -maxmemory 2gb \
  -fsync everysec

Connect via redis-cli:

redis-cli -p 7379 -a "vortex_secure_2026"

โ ๐Ÿณ Docker Compose

Create a docker-compose.yml:

version: '3.8'

services:
  vortexkv:
    image: ianshugarg/vortexkv:latest
    container_name: vortexkv
    restart: unless-stopped
    ports:
      - "7379:7379"  # RESP Wire Protocol
      - "7380:7380"  # Web Studio Command Deck & SSE
    volumes:
      - vortex_data:/data
    command:
      - -bind
      - 0.0.0.0
      - -port
      - "7379"
      - -web-bind
      - 0.0.0.0
      - -web-port
      - "7380"
      - -requirepass
      - "vortex_secure_2026"
      - -maxmemory
      - 2gb
      - -aof
      - /data/vortex.aof

volumes:
  vortex_data:

Launch with:

docker compose up -d

โ ๐ŸŒŒ Embedded Web Command Deck

Access the cyberpunk dashboard at http://localhost:7380:

  • ๐Ÿ“Š Real-time Engine Telemetry: Operations/sec, memory RSS, buffer pool, connection stats.
  • โšก Interactive Terminal: In-browser REPL with syntax highlighting and latency timers.
  • ๐Ÿงฌ Vector Similarity Playground: Inspect high-dimensional vector embeddings with cosine similarity.
  • ๐ŸŒŠ Stream Observer: Live Redis Stream visualizer for XADD, XREADGROUP, and consumer groups.
  • ๐Ÿ›ก๏ธ Zero-Trust ACL Console: Role-Based Access Control and command rules.

โ โš™๏ธ Configuration & Flags

FlagDefaultDescription
-port7379Port for Redis RESP wire protocol
-web-port7380Port for Visual Studio Web Dashboard & SSE
-requirepass""Password authentication for clients and Web Studio
-maxmemory"0"Memory limit (e.g. 512mb, 2gb, 0 for unlimited)
-aof""Append-Only File path for durability (in /data, leave empty to disable)
-fsync"everysec"AOF fsync policy (always, everysec, no)
-rdb""Binary snapshot file path (leave empty to disable)
-cluster-enabledfalseEnable distributed gossip cluster mode
-event-engine"auto"Network engine (auto: epoll/kqueue, reactor, std)
-event-workersNNumber of dedicated reactor worker loops (default: CPU cores)

โ ๐Ÿ’ป Client Examples

โ Python (redis-py)
import redis

r = redis.Redis(host='localhost', port=7379, password='vortex_secure_2026', decode_responses=True)
r.set('agent:state', 'ACTIVE')
print(r.get('agent:state'))  # ACTIVE
โ Node.js (ioredis)
const Redis = require('ioredis');
const redis = new Redis({ host: 'localhost', port: 7379, password: 'vortex_secure_2026' });

await redis.set('fleet:cluster', 'asia-south1');
console.log(await redis.get('fleet:cluster'));
โ Go (go-redis)
rdb := redis.NewClient(&redis.Options{
    Addr:     "localhost:7379",
    Password: "vortex_secure_2026",
})
rdb.Set(ctx, "shard:key", "value", 0)

โ ๐Ÿ—๏ธ Architecture & Specs

  • Global Velocity & Benchmarks: Audited with official redis-benchmark in Docker:
    • 14,287,238 ops/sec GET throughput (P=128, 3.4ร— faster than DragonflyDB).
    • 10,000,000 ops/sec GET throughput (P=64, 2.6ร— faster than DragonflyDB, 3.7ร— faster than Redis).
    • 2,941,490 ops/sec SET throughput (P=128).
    • 2,702,702 ops/sec SET throughput (P=64).
  • Single-Cycle 32-Bit Integer Word Dispatch: High-frequency commands (GET, SET, DEL, PING, INCR, QUIT) matched using bitwise integer masks (| 0x20) in a single CPU cycle with zero string allocations.
  • Multi-Listener SO_REUSEPORT Kernel Socket Steering: Each worker loop binds its own dedicated listening socket. The OS kernel hashes incoming TCP connections directly across worker queues with zero cross-thread locking.
  • In-Place Zero-Allocation Keyspace Updates: SetString updates existing keys in-place without heap allocations or GC pressure.
  • 256 Cacheline-Padded Shards: Keyspace striped across 256 shards padded with _ [64]byte to eliminate false sharing.
  • Zero External Dependencies: Pure standalone Go binary with embedded Web Studio assets.
  • Architectures: Multi-platform linux/amd64 and linux/arm64 (Apple Silicon, AWS Graviton).
  • Minimal Zero-CVE Base: Ultra-small ~14 MB static distroless image (gcr.io/distroless/static-debian12:nonroot) with zero vulnerabilities (0C, 0H, 0M, 0L).
  • Non-Root User: Runs securely as unprivileged non-root user (UID 65532:65532) with read-only root filesystems support.

Tag summary

Content type

Image

Digest

sha256:cbb6ca919โ€ฆ

Size

6.7 MB

Last updated

about 1 month ago

docker pull ianshugarg/vortexkv