Database Reference
In-Depth Information
Das Format jedes Redis-Bandschlüssels ist "band:Bandname" .DasSkriptfügt
den Namen des Künstlers in ein Set mit Künstlernamen ein. Der Schlüssel
"band:Beatles" enthält also ein Set mit den Werten ["John Lennon", "Paul
McCartney", "George Harrison", "Ringo Starr"] . Die Künstler-Schlüssel
enthalten ebenfalls den Bandnamen und ein Set mit den Rollen. "artist:
Beatles:Ringo Starr" enthält das Set ["Drums"] .
Der restliche Code hält nur nach, wie viele Zeilen verarbeitet wurden, und
gibt die Ergebnisse auf dem Bildschirm aus.
redis/pre_populate.js
csv().
fromPath( tsvFileName, { delimiter: '\t' , quote: '' }).
on( 'data' , function (data, index) {
var
artist = data[2],
band = data[3],
roles = buildRoles(data[4]);
if ( band === '' || artist === '' ){
trackLineCount();
return true;
}
redis _ client.sadd( 'band:' + band, artist);
roles.forEach( function (role) {
redis _ client.sadd( 'artist:' + band + ':' + artist, role);
});
trackLineCount();
}).
Sie können prüfen, ob der Code Redis wirklich befüllt, indem Sie redis-cli
starten und RANDOMKEY ausführen. Das sollte einen Schlüssel ausgeben, dem
band: oder artist: voransteht. Jeder Wert außer (nil) ist gut.
Nachdem Redis nun befüllt ist, machen wir gleich mit dem nächsten Ab-
schnitt weiter. Beim Ausschalten von Redis könnten Daten verloren gehen,
wenn Sie keine höhere Dauerhaftigkeit eingestellt oder einen SAVE -Befehl an-
gestoßen haben.
Phase 2: Einfügen in CouchDB
CouchDB spielt die Rolle des Haupt-Datenspeichers, des sog. System of Re-
cord (SOR). Treten irgendwelche Datenkonflikte zwischen Redis, CouchDB
oder Neo4j auf, gewinnt CouchDB. Eine gutes SOR muss alle Daten ent-
halten, die notwendig sind, um die anderen Datenquellen in seiner Domäne
wieder aufbauen zu können.
Stellen Sie sicher, dass CouchDB an seinem Standardport 5984 läuft, oder
ändern Sie die Zeile require('http').createClient(5984, 'localhost') im
 
Search WWH ::




Custom Search