1
0
mirror of https://github.com/redis/node-redis.git synced 2025-08-07 13:22:56 +03:00

V5 bringing RESP3, Sentinel and TypeMapping to node-redis

RESP3 Support
   - Some commands responses in RESP3 aren't stable yet and therefore return an "untyped" ReplyUnion.
 
Sentinel

TypeMapping

Correctly types Multi commands

Note: some API changes to be further documented in v4-to-v5.md
This commit is contained in:
Shaya Potter
2024-10-15 17:46:52 +03:00
committed by GitHub
parent 2fc79bdfb3
commit b2d35c5286
1174 changed files with 45931 additions and 36274 deletions

View File

@@ -0,0 +1,20 @@
import Redis from 'ioredis';
export default async (host) => {
const client = new Redis({
host,
lazyConnect: true,
enableAutoPipelining: true
});
await client.connect();
return {
benchmark() {
return client.ping();
},
teardown() {
return client.disconnect();
}
}
};

View File

@@ -0,0 +1,21 @@
import { createClient } from 'redis-local';
export default async (host) => {
const client = createClient({
socket: {
host
},
RESP: 2
});
await client.connect();
return {
benchmark() {
return client.ping();
},
teardown() {
return client.disconnect();
}
};
};

View File

@@ -0,0 +1,23 @@
import { createClient, RESP_TYPES } from 'redis-local';
export default async (host) => {
const client = createClient({
socket: {
host
},
RESP: 3
}).withTypeMapping({
[RESP_TYPES.SIMPLE_STRING]: Buffer
});
await client.connect();
return {
benchmark() {
return client.ping();
},
teardown() {
return client.disconnect();
}
};
};

View File

@@ -0,0 +1,24 @@
import { createClient, RESP_TYPES } from 'redis-local';
export default async (host) => {
const client = createClient({
socket: {
host
},
commandOptions: {
[RESP_TYPES.SIMPLE_STRING]: Buffer
},
RESP: 3
});
await client.connect();
return {
benchmark() {
return client.ping();
},
teardown() {
return client.disconnect();
}
};
};

View File

@@ -0,0 +1,27 @@
import { createClient } from 'redis-local';
import PING from 'redis-local/dist/lib/commands/PING.js';
export default async (host) => {
const client = createClient({
socket: {
host
},
RESP: 3,
modules: {
module: {
ping: PING.default
}
}
});
await client.connect();
return {
benchmark() {
return client.withTypeMapping({}).module.ping();
},
teardown() {
return client.disconnect();
}
};
};

View File

@@ -0,0 +1,27 @@
import { createClient } from 'redis-local';
import PING from 'redis-local/dist/lib/commands/PING.js';
export default async (host) => {
const client = createClient({
socket: {
host
},
RESP: 3,
modules: {
module: {
ping: PING.default
}
}
});
await client.connect();
return {
benchmark() {
return client.module.ping();
},
teardown() {
return client.disconnect();
}
};
};

View File

@@ -0,0 +1,21 @@
import { createClient } from 'redis-local';
export default async (host) => {
const client = createClient({
socket: {
host
},
RESP: 3
});
await client.connect();
return {
benchmark() {
return client.ping();
},
teardown() {
return client.disconnect();
}
};
};

View File

@@ -1,6 +1,6 @@
import { createClient } from 'redis-v3';
import { once } from 'events';
import { promisify } from 'util';
import { once } from 'node:events';
import { promisify } from 'node:util';
export default async (host) => {
const client = createClient({ host }),

View File

@@ -1,4 +1,4 @@
import { createClient } from '@redis/client';
import { createClient } from 'redis-v4';
export default async (host) => {
const client = createClient({