Gibt es eine Implementierung von Datenbank (mysql) -Abfrage-Caching, die rein in Node.js geschrieben wurde?
Ich schreibe eine Node-Web-App und plane Caching-Abfragen mit memcached, aber während ich darüber nachdenke, habe ich festgestellt, dass es wahrscheinlich möglich ist, das Caching über eine separate Node.js-Ebene durchzuführen.
Um zu erklären:
Sie können die Datenbank über einen Knotenserver an einem separaten Port abfragen, Daten aus dem Speicher zurückgeben, wo sie verfügbar sind, und sie in den Speicher laden, wo dies nicht der Fall ist.
Weiß jemand, wie Node.js mit Memcache im Hinblick auf die Rückkehrgeschwindigkeit auf Hash-Arrays verglichen wird? Ist das ein Rohrtraum oder etwas, das ich mir ansehen sollte?
Ich ging voran und schrieb eine Caching-Lösung für den privaten Gebrauch, die die Daten in einem gemeinsamen Objekt speicherte. Dies war nicht wirklich Abfrage-Caching, es speichert spezifische Ergebnisse anstelle von rohen SQL-Ergebnissen, sortiert nach Hashes, aber es behielt, was ich im Speicher brauchte und war lächerlich einfach zu schreiben.
Da ich diese Frage ursprünglich gestellt habe, sind eine Reihe von Knoten-Caching-Lösungen emmerged:
Ich habe keine davon benutzt, aber eine davon könnte für jemand anderen von Nutzen sein.
Sie können definitiv so etwas im Knoten implementieren, und es könnte ein interessantes Projekt sein, aber es hängt von Ihren Bedürfnissen ab. Wenn du das nur für ein Hobby-Projekt tust, baue auf jeden Fall eine Cache-Schicht im Knoten und probiere es aus. Lass es uns wissen wie es geht!
Wenn dies für den produktiven Einsatz gedacht ist, würde ich empfehlen, sich an die etablierten Caching-Layer (memcached, redis, etc) zu halten, da sie bereits alle wachsenden Probleme beim Aufbau eines skalierbaren Caching-Systems durchlaufen haben.
Ich habe ein node.js-Modul geschrieben, das MySQL-Query-Caching mit memcached durchführt.
Das Modul trägt den Namen Memento und ist unter Ссылка
verfügbarViel Spaß!