README.md

June 11, 2026 · View on GitHub

RedisSMQ

The definitive guide to RedisSMQ
language‑agnostic concepts, architecture, and operational patterns.


🌐 Language Implementations

LanguageRepositoryStatus
TypeScript / Node.jsredis-smqReference implementation
Gogo-redis-smqFully compatible

All implementations share the same wire protocol and data schema.


✨ Key Features

FeatureDescription
📬 Reliable deliveryAt‑least‑once delivery with retries, dead‑letter queues, and automatic crash recovery.
🚀 High throughputAtomic Lua scripts and efficient Redis data structures.
📊 Multiple queue typesFIFO, LIFO, and Priority.
🔀 Flexible routingDirect, Topic, Fanout exchanges plus direct queue publishing.
👥 Delivery modelsPoint‑to‑Point and Pub/Sub with consumer groups.
SchedulingDelayed delivery, CRON schedules, and repeating messages.
🚦 Rate limitingPer‑queue throughput control.
⏱️ TTL & timeoutsMessage expiry and consumption timeouts.
📦 Batch acknowledgementsReduced Redis calls for high‑throughput consumers.
🔒 Queue state managementPause, stop, resume, and lock queues with audit.
📡 Event busReal‑time system events via Redis Pub/Sub.
🌐 Cross‑languageGo and TypeScript implementations share one protocol.
🔧 REST API & Web UIProvided by the TypeScript implementation; compatible with all clients.

🎯 Use Cases

  • Background job processing (emails, reports, data pipelines)
  • Task scheduling with automatic retries
  • Microservices communication
  • Real‑time event handling (gaming, IoT, analytics)

📋 Requirements

  • Redis ≥ 4.0

📂 Documentation Structure

The documentation is versioned to stay in sync with the evolving specification.
A specification version (e.g., v1.0) groups a compatible set of language‑specific releases.

ℹ️ The specification version is independent of any library’s semantic version.
Each versioned folder is an immutable snapshot of the concepts at that point in time.

Folder Layout

FolderContentStability
/next/Bleeding‑edge spec (development branches)⚠️ Volatile
/v1.0/ (TBD)Latest stable specification✅ Immutable

Compatibility Matrix

Docs Folderredis-smq (TypeScript)go-redis-smq (Go)Status
/next/next branch / @nextnext branch🚧 Unreleased
/v1.0/ (TBD)≥11.0.0 <11.1.0≥1.0.0 <1.1.0Latest Stable

⚠️ Always check this table before reading the docs to ensure you’re viewing the version that matches your runtime.


🚀 Getting Started

  • If you are using a development branch, begin with the /next/ specification and its Getting Started guide.
  • For stable releases, wait for the versioned folder (e.g., /v1.0/) to be published.

For the full document index of the current development specification, see next/README.md.


🤝 Contributing

Documentation improvements are welcome. See CONTRIBUTING.md for guidelines.

📄 License

MIT – see LICENSE.