Мы бы хотели получить ответ от Redis в виде потока , похожего на Postgres Streams .
Мы получилиограничение на использование как можно меньше серверной памяти.Некоторые из наших списков могут занимать ~ 10 МБ и запрашивать одновременно у нескольких пользователей.
В этом случае устаревший способ в конечном итоге вызовет проблемы с памятью на наших серверах.
Альтернативным решением является итерация списка и отправка lrange
команд, каждая партия возвращает часть элементов списка, но это было бы неэффективно из-за сетевых обращений.
Вот что у меня естьна данный момент, который является стандартным способом ведения дел:
'use strict'
const redis = require('redis'),
client = redis.createClient()
client.on('error', function (err) {
console.log('Error ' + err)
})
client.rpush('foo', 1)
client.rpush('foo', 2)
client.rpush('foo', 3)
client.rpush('foo', 4)
client.rpush('foo', 5)
client.lrange('foo', 0, -1, (err, replies) => {
console.log(replies)
})