NodeRedis/node-redis

View on GitHub
docs/v5.md

Summary

Maintainability
Test Coverage
# RESP3 Support

TODO

```javascript
const client = createClient({
  RESP: 3
});
```

```javascript
// by default
await client.hGetAll('key'); // Record<string, string>

await client.withTypeMapping({
  [TYPES.MAP]: Map
}).hGetAll('key'); // Map<string, string>

await client.withTypeMapping({
  [TYPES.MAP]: Map,
  [TYPES.BLOB_STRING]: Buffer
}).hGetAll('key'); // Map<string, Buffer>
```

# Sentinel Support

[TODO](./sentinel.md)

# `multi.exec<'typed'>` / `multi.execTyped`

We have introduced the ability to perform a "typed" `MULTI`/`EXEC` transaction. Rather than returning `Array<ReplyUnion>`, a transaction invoked with `.exec<'typed'>` will return types appropriate to the commands in the transaction where possible:

```javascript
const multi = client.multi().ping();
await multi.exec(); // Array<ReplyUnion>
await multi.exec<'typed'>(); // [string]
await multi.execTyped(); // [string]
```