Node.js, (Hola) Redis y el comando multi

Estoy jugando con node.js y redis e instalé la biblioteca hiredis a través de este comando

npm install hiredis redis 

Miré los ejemplos múltiples aquí:

https://github.com/mranney/node_redis/blob/master/examples/multi2.js

En la línea 17 dice

 // you can re-run the same transaction if you like 

lo que implica que el objeto interno de varias colas nunca se borra una vez que los comandos terminan de ejecutarse.

Mi pregunta es: ¿Cómo manejaría la situación en un entorno http? Por ejemplo, rastrear al último usuario conectado (esto realmente no necesita múltiples, ya que solo ejecuta un comando pero es fácil de seguir)

 var http = require('http'); redis = require('redis'); client = redis.createClient() multi = client.multi(); http.createServer(function (request, response) { multi.set('lastconnected', request.ip); // won't work, just an example multi.exec(function(err, replies) { console.log(replies); }); }); 

En este caso, multi.exec ejecutaría 1 transacción para el primer usuario conectado y 100 transacciones para el usuario número 100 (debido a que el objeto interno de varias entradas nunca se borra).

Opción 1: ¿Debo crear el objeto múltiple dentro de la función de callback http.createServer, que efectivamente lo mataría al final de la ejecución de la función? ¿Qué tan caro en términos de ciclos de CPU sería crear y destruir este objeto?

Opción 2: la otra opción sería crear una nueva versión de multi.exec (), algo como multi.execAndClear () que borrará la cola en el momento en que se ejecute ese grupo de comandos.

¿Qué opción tomarías? Supongo que la opción 1 es mejor: estamos matando un objeto en lugar de seleccionar partes de la cereza, solo quiero estar seguro de que soy nuevo tanto para el nodo como para javascript.

Los objetos múltiples en node_redis son muy económicos de crear. Como efecto secundario, pensé que sería divertido permitirle reutilizarlos, pero esto, obviamente, solo es útil en algunas circunstancias. Continúe y cree un nuevo objeto múltiple cada vez que necesite una nueva transacción.

Una cosa que se debe tener en cuenta es que solo debe usar múltiples si realmente necesita que todas las operaciones se ejecuten de forma atómica en el servidor Redis. Si solo desea agrupar una serie de comandos de manera eficiente para ahorrar ancho de banda y reducir el número de devoluciones de llamadas que tiene que administrar, solo envíe los comandos individuales, uno tras otro. node_redis automáticamente “canalizará” estas solicitudes al servidor en orden, y las devoluciones de llamada de comandos individuales, si las hubiera, se invocarán en orden.