2012-05-17 11 views
15

Die meisten Benutzer empfehlen, separate Redis-Instanzen auf verschiedenen Ports (6379 und 6380) auszuführen. Warum wird dies häufiger zum Erstellen einer zweiten Datenbank empfohlen? Ich bin noch nicht vollständig durch die Dokumentation, aber die meisten Beispiele erwähnen nicht wirklich "Auswahl einer Redis-Datenbank" beim Verbinden. Ein Beispiel aus dem Ruby-Client, NRK/Predis README:Mehrere Redis-Instanzen

$redis = new Predis\Client(array(
    'scheme' => 'tcp', 
    'host' => '10.0.0.1', 
    'port' => 6379, 
)); 

Wir derzeit Hubot in unserem Büro mit Lagerfeuern laufen, und ich arbeite an einem zweiten für GTalk, da Sie nur einen einzigen Adapter im Einsatz haben für jede Hubot-Instanz. Daher überlege ich, eine zweite Datenbank oder Instanz von Redis zu erstellen, damit die Daten zwischen den beiden Hubots isoliert werden. Aber bevor ich weiter ging, wollte ich verstehen, warum Sie separate Instanzen verwenden würden, anstatt nur eine zweite Datenbank zu erstellen.

+0

Falls jemand anderes dasselbe macht, müssen Sie die Umgebungsvariable REDISTOGO_URL angeben, wenn Sie zwei Hubots und zwei Redis-Instanzen verwenden. – brock

Antwort

32

zwei Hauptgründe:

  1. mehrere Datenbanken sind in der Regel schlecht angesehen und einen Tag als veraltet zu sein, und sie haben einige Leistungseinbußen, wenn auch ziemlich gering.

  2. Der Hauptgrund ist, dass redis single threaded ist, wenn Sie zwei verschiedene Datenquellen benötigen, wird eine andere redis-Instanz die Leistung verbessern, da sie wahrscheinlich eine andere CPU verwendet, während eine Instanz immer nur eine verwendet.

  3. Eine andere Redis-Instanz kann eine festgelegte Persistenzeinstellung haben. Zum Beispiel kann eine Instanz nur Speicher verwenden und andere können Dateien verwenden als Speicher Redis Persistence

dann gibt es noch andere Vorteile wie mit getrennten Auth Passwörter, lru Strategien, usw. -, die nur auf Instanzebene getan werden kann.

+0

Awesome - Ich dachte, es gab einen guten Grund. Vielen Dank – brock

Verwandte Themen