redis-loader
v6.3.2
Published
An io-redis like object that batches queries with dataloader
Downloads
9
Readme
RedisLoader
An ioredis
-like object that batches commands via dataloader
. Under the hood we have dataloader
utilize redis's multi
transactions and pipelining to group commands called. We also support batching in streams, using bluestream
to make sure promises/async functions play nice in them.
Installation
npm i --save redis-loader
or
yarn add redis-loader
Examples
// RedisLoader supports an optional logger function with stats on each batch of commands
function logger (stats) {
//...
}
// set up like you would `ioredis`
const redis = redisLoader('redis://localhost:6379/1', { keyPrefix: 'foo', logger })
// or setup ioredis
const redis = new Redis(redisUrl, redisOptions)
const redisLoader = new RedisLoader({ redis, logger })
// three commands sent to Redis together in one multi
await Promise.all([
redis.ping(),
redis.dbsize(),
redis.time()
])
// three commands sent separately to redis
await redis.ping()
await redis.dbsize()
await redis.time()