Redis and Valkey
Use Redis or Valkey-compatible infrastructure for distributed state.
npm install ioredis @rokadhq/dhal
Rate-limit store
import Redis from "ioredis";
import { createDhal } from "@rokadhq/dhal";
import { RedisRateLimitStore } from "@rokadhq/dhal/stores/redis";
const redis = new Redis(process.env.REDIS_URL);
const engine = createDhal({
rateLimitStore: new RedisRateLimitStore(redis)
});
Signal store
import Redis from "ioredis";
import { RedisSignalStore } from "@rokadhq/dhal/stores/redis-signal";
const redis = new Redis(process.env.REDIS_URL);
const signalStore = new RedisSignalStore(redis);
When Redis is required
Use Redis/Valkey when:
- you run multiple app instances;
- serverless instances scale horizontally;
- credential-stuffing signals must be shared across workers;
- rate limits must be consistent across pods.