Consultas de base de datos de caché con Node.js

¿Existe una implementación de almacenamiento en caché de consultas de base de datos (mysql) escrita únicamente en Node.js?

Estoy escribiendo una aplicación web de Node y estaba planeando realizar consultas de almacenamiento en caché con memcached, pero al considerar esto, me di cuenta de que probablemente sea posible realizar el almacenamiento en caché a través de una capa Node.js separada.

Para explicar:

Puede consultar la base de datos a través de un servidor de nodo en un puerto separado, devolver los datos de la memoria cuando estén disponibles y cargarlos en la memoria donde no está.

¿Alguien sabe cómo Node.js se compararía con memcache en términos de velocidad de retorno en matrices hash? ¿Es esto un sueño imposible o algo que debería ver?

Seguí adelante y escribí una solución de almacenamiento en caché para uso privado que almacenaba los datos en un objeto compartido. Esto no era realmente un caché de consulta, almacena resultados específicos en lugar de resultados en bruto de sql ordenados por hashes, pero mantuvo lo que necesitaba en la memoria y fue ridículamente fácil de escribir.

Desde que originalmente hice esta pregunta, varias soluciones de almacenamiento en caché de nodos se han combinado:

  1. ptarjan / node-cache
  2. tcs-de / nodecache
  3. vxtindia / node-cache
  4. mape / node-caching

No he usado ninguno de estos, pero uno de ellos podría ser de utilidad para otra persona.

Ahora también hay clientes redis y memcached para el nodo.

Definitivamente, puedes implementar algo como esto en el nodo, y podría ser un proyecto interesante, pero depende de tus necesidades. Si solo estás haciendo esto para un proyecto de hobby, por supuesto, crea una capa de almacenamiento en caché en el nodo y pruébalo. Háganos saber cómo va!

Si esto es para uso de producción, entonces recomendaría atenerse a las capas de almacenamiento en caché establecidas (memcached, redis, etc.) ya que ya han pasado por todos los problemas asociados con la creación de un sistema de almacenamiento en caché escalable.

He escrito un módulo node.js que realiza el almacenamiento en caché de consultas MySQL usando memcached.

El módulo se llama Memento y está disponible en https://www.npmjs.com/package/memento-mysql

¡Disfrutar!

    Intereting Posts