2016-08-01 20 views
0

Bitte hat jemand jemals NodeJS + Redis + MySQL Ziel zu haben ist NodeJS Daten von Redis holen verwendet und nur MySQL erreichen, wenn die Daten nicht gefunden, auch MySQL wieder mit den Daten zu aktualisieren.NodeJS, Redis und MySQL

wie kann ich dann laufen relationale Anfrage von Redis seine wissen, ein NoSQLin-memory DB

Ich habe gelesen, dass Redis ist besser als Memcached und es scheint schneller zu sein, damit ich es ausprobieren wollte, aber es scheint, alle Tutorial i kann meine Hände liegen nur PHP basieren.

Derzeit verwende ich NodeJS + MySQL, wie unten (Beispiel):

var d = new Date(); 
var date = d.getFullYear() + '-' + paddnum(Math.round(d.getMonth() + 1)) + '-' + paddnum(d.getDate()) + ' ' + paddnum(d.getHours()) + ':' + paddnum(d.getMinutes()) + ':' + paddnum(d.getSeconds()); 

var query = `INSERT INTO comments (COMMENT, POSTID) 
         VALUES ('{"author":"` + data.userid + `", "comment": "` + data.comment + `", "time":"` + date + `"}', ` + data.postid + `) 
         ON DUPLICATE KEY UPDATE 
          COMMENT = CONCAT(COMMENT, ',{"author":"` + data.userid + `", "comment": "` + data.comment + `", "time":"` + date + `"}'), 
          POSTID = ` + data.postid; 
//console.log(query); 
connection.query(query, 
    function(err, results) { 
     if (err) { 
      return err; 
     } 
     return results; 
    } 
); 

Antwort

1

Ich bin nicht sicher, was Sie wirklich brauchen, sondern auf der Grundlage Frage, die Sie Code und Modul benötigen, die zwischen NodeJS Code und MySQL db arbeiten. Sie können dieses Modul für redis Betrieb verwenden git: //github.com/NodeRedis/node_redis.git

Jetzt alles, was Sie brauchen, ist eine Verbindung, die Daten in und dann auf Benutzeranforderung Scheck wiederentdeckt Redis, füllen> wenn gefunden, geben Sie Daten zurück, wenn nicht, DB-Abfragen. Oder umgekehrt.

Hoffe, das hilft.

+0

Danke scheint der Weg nach vorne zu sein und es ist sehr in Ordnung, aber was ich verwirrt bin jetzt, wenn ich relationale Abfrage (MEHRERE VERBINDUNGEN) mit Redis tun möchte, danke nochmal – AcefxLabs

+0

Nun ... Soweit ich weiß, redis Doent haben JOIN-Funktionalität. Es ist im Grunde Pub/Sub-System. Es speichert also nur Werte im Inneren und gibt sie zurück. Aber aus meiner Erfahrung ist es sehr gut, einige große Objekte mit Daten zu speichern und zurück zu bekommen. Zum Beispiel können Sie das MySQL-Ergebnis in redis speichern und dieses Ergebnis später mehrmals von redis erhalten. Dieser Ansatz kann viel Zeit sparen. Hoffe das hilft. –

+1

Vielen Dank, nach mehreren Graben ich realisiere für Daten, die Relationen alles ich muss ich VIEW in MySQL zu erstellen und speichern Sie seine Daten in REDIS so die Daten in Anfrage von REDIS wird nur VIEWS, die ohne Beziehung geht – AcefxLabs