sequelize node data cache mysql caching node.js memcached

mysql - data - node-cache



Caché de consultas de bases de datos con Node.js (3)

¿Hay una implementación de caché de consultas de base de datos (mysql) escrita exclusivamente en Node.js?

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

Para explicar:

Puede consultar la base de datos a través de un servidor de nodos en un puerto separado, devolviendo datos de la memoria donde estén disponibles y cargándolos 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?


Definitivamente puede implementar algo como esto en un nodo, y podría ser un proyecto interesante, pero depende de sus necesidades. Si solo estás haciendo esto para un proyecto de hobby, construye 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 apegarme a las capas de almacenamiento en caché establecidas (memcached, redis, etc.) ya que ya han pasado por todos los dolores de crecimiento asociados con la construcción de un sistema de almacenamiento en caché escalable.


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 caché de consultas, almacena resultados específicos en lugar de resultados de sql sin procesar ordenados por hashes, pero guardaba lo que necesitaba en la memoria y era ridículamente fácil de escribir.

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

  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 útil para otra persona.

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


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

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

¡Disfrutar!