+every redis key is built from `this._keys` (see `buildKeys` in queue.js), never hardcoded. all keys live under the reserved `queue` root. the `namespace` option nests a sub-scope beneath it: default (omitted) keys under `queue:*`, `namespace: "downloads"` keys under `queue:downloads:*`. this lets several queues with different concurrency policies share one redis without colliding, and a namespace can never escape into a sibling package's keyspace (e.g. realtime's `rt:*`). namespace is validated against `/^[A-Za-z0-9._:-]+$/`. the global concurrency semaphore key is also namespaced (`<prefix>:active`), so each namespace gets its own budget. if you add a new redis key, add it to `buildKeys` - do not inline a literal.
0 commit comments