Mehrere Redis-Instanzen
Meisten Leute scheinen zu empfehlen, die separate Redis-Instanzen auf unterschiedlichen ports (6379 und 6380). Warum ist das mehr allgemein empfohlen, über eine zweite Datenbank? Ich bin nicht komplett durch die Dokumentation noch, aber die meisten Beispiele nicht wirklich erwähnen, " Auswahl einer Redis-Datenbank beim herstellen einer Verbindung. Ein Beispiel aus der Ruby-client, nrk/predis README:
$redis = new Predis\Client(array(
'scheme' => 'tcp',
'host' => '10.0.0.1',
'port' => 6379,
));
Wir derzeit führen Hubot in unserem Büro mit Lagerfeuer, und ich arbeite eine zweite für die GTalk-da können Sie nur einen einzigen adapter im Einsatz für jeden Hubot-Instanz. Also ich überlege mir eine zweite Datenbank oder die Instanz von Redis, so dass Daten zwischen den beiden hubots isoliert ist. Aber bevor ich viel weiter, ich wollte verstehen, warum verwenden Sie separate Instanzen, anstatt nur die Schaffung einer zweiten Datenbank.
- Falls jemand anderes das gleiche tun, müssen Sie die REDISTOGO_URL Umgebungsvariable, wenn Sie mit zwei hubots und zwei redis-Instanzen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wesentlichen zwei Gründe:
Verwendung mehrerer Datenbanken ist allgemein als schlecht und werden veraltet irgendwann, und Sie haben einige Leistungseinbußen, obwohl ziemlich Moll.
der Hauptgrund ist, dass redis ist single-threaded, wenn Sie benötigen zwei verschiedene Datenquellen, andere redis-Instanz wird die Leistung verbessert, da es zu nutzen eine andere CPU, die Sie wahrscheinlich haben, in der Erwägung, dass eine Instanz wird immer nutzen nur eine.
Auch verschiedene redis-Instanzen können verschiedene Persistenz-Einstellungen. Zum Beispiel eine Instanz kann nur Speicher und andere können Dateien als storage
Redis Persistenz
Dann gibt es andere Vorteile, da er eine eigene auth-Passwörter, LRU-Strategien, etc. - die können nur durchgeführt werden bei der Instanz-Ebene.