DenoRedis
Deno Redis integration backed by @db/redis.
This module creates a scoped, native Deno Redis client and exposes it as both the portable Redis service and the Deno-specific DenoRedis service for direct access to the raw client. Unlike Bun's built-in client, @db/redis connects eagerly using RESP2, so layer construction can fail with a RedisError.
Layers
Signature
declare function layer(options?: RedisOptions): Layer<DenoRedis | Redis, RedisError>;layerConfig
Added in v4.0.0
Source
Provides Redis and DenoRedis services from Config-backed options, closing the client when the layer scope ends.
Signature
declare function layerConfig(
options: Config<RedisOptions>,
): Layer<DenoRedis | Redis, ConfigError | RedisError>;Models
RedisOptions type
Added in v4.0.0
Source
Options for connecting to Redis, including a Redis URL or individual connection settings. Explicit settings override values from the URL.
Signature
type RedisOptions = Omit<RedisConnectOptions, "hostname"> & {
readonly hostname?: string;
readonly url?: string;
};Services
Service tag for Deno Redis integration, exposing the raw @db/redis client and a use helper that maps client promise failures to RedisError.
Signature
declare class DenoRedis extends Shape<
"@effect/platform-deno/DenoRedis",
{
readonly client: RedisClient;
readonly use: <A>(f: (client: RedisClient) => Promise<A>) => Effect<A, RedisError>;
},
this
> {
constructor(_: never);
}
Provides
RedisandDenoRedisservices backed by an@db/redisclient, closing the client when the layer scope ends. URL-derived options can be overridden by other supplied options.