refactor redis multi
This commit is contained in:
parent
c9c377cdbb
commit
24e83d8f2f
|
@ -12,7 +12,7 @@ import {
|
|||
// eslint-disable-next-line import/no-unresolved
|
||||
import canvases from './canvases.json';
|
||||
|
||||
import redis, { redisV3 } from '../redis';
|
||||
import redis from '../redis';
|
||||
|
||||
|
||||
const UINT_SIZE = 'u8';
|
||||
|
@ -92,6 +92,7 @@ class RedisCanvas {
|
|||
}
|
||||
|
||||
multi = null;
|
||||
|
||||
static enqueuePixel(
|
||||
canvasId,
|
||||
color,
|
||||
|
@ -100,9 +101,9 @@ class RedisCanvas {
|
|||
offset,
|
||||
) {
|
||||
if (!RedisCanvas.multi) {
|
||||
RedisCanvas.multi = redisV3.multi();
|
||||
RedisCanvas.multi = redis.multi();
|
||||
}
|
||||
RedisCanvas.multi.v4.addCommand(
|
||||
RedisCanvas.multi.addCommand(
|
||||
[
|
||||
'BITFIELD',
|
||||
`ch:${canvasId}:${i}:${j}`,
|
||||
|
@ -119,7 +120,8 @@ class RedisCanvas {
|
|||
if (RedisCanvas.multi) {
|
||||
const { multi } = RedisCanvas;
|
||||
RedisCanvas.multi = null;
|
||||
return multi.execAsPipeline();
|
||||
// true for execAsPipeline
|
||||
return multi.exec(true);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
|
|
@ -27,4 +27,11 @@ export const connect = async () => {
|
|||
await redis.connect();
|
||||
};
|
||||
|
||||
/*
|
||||
* multi is not in .v4 in legacyMode,
|
||||
* might be fixed in the future
|
||||
* https://github.com/redis/node-redis/blob/329885b4ae3167d0092e856095b726e2adf89c97/packages/client/lib/client/multi-command.ts
|
||||
*/
|
||||
redis.v4.multi = () => redis.multi().v4;
|
||||
|
||||
export default redis.v4;
|
||||
|
|
Loading…
Reference in New Issue
Block a user