Node.js + redis. Implementando un “what’s hot” con tiempo de expiración

node_redis

 

En este tutorial vamos a ver como implementar un servicio “what’s hot” utilizando un servidor node.js y una base de datos no-relacional de tipo clave-valor como es redis. ¿Qué hace este servicio? Simplemente nos devuelve las camisetas más vistas durante el último día.

Partimos de una API RESTful que implementa los casos CRUD para una tienda de camisetas y que ya vimos en entradas anteriores. Lo que haremos será lo siguiente:

  • Accedemos a ver una camiseta GET /tshirt/:id
  • Al acceder, guardaremos en una BD redis una clave cuyo valor será el número de accesos que ha tenido la camiseta. La clave tendrá la siguiente forma: hot.id => 4. Además, la clave tendrá un tiempo de expiración de 86400 segundos, es decir, de un día.
  • Si queremos conocer las camisetas más vistas en el último día, accederemos a /hots con el método GET, y obtendremos las “camisetas calientes”.

Si queréis podéis consultar en SpeakinBytes información sobre redis.

Continue…