Sie möchten nicht mehrere Datenbanken in einer einzelnen Redis-Instanz verwenden. Es ist veraltet und, wie Sie bereits erwähnt haben, können Sie mit mehreren Instanzen die Vorteile mehrerer Kerne nutzen. Wenn Sie die Datenbankauswahl verwenden, müssen Sie beim Upgrade umgestalten. Das Überwachen und Verwalten mehrerer Instanzen ist weder schwierig noch schmerzhaft.
In der Tat, Sie würden viel bessere Metriken für jede db durch Segregation basierend auf Instanz erhalten. Jede Instanz würde Statistiken enthalten, die dieses Datensegment widerspiegeln, was eine bessere Abstimmung und eine reaktionsfähigere und genauere Überwachung ermöglichen kann. Verwenden Sie eine aktuelle Version und trennen Sie Ihre Daten nach Instanz.
Wie Jonaton sagte, verwenden Sie nicht den Befehl keys. Sie werden viel bessere Leistung finden, wenn Sie einfach einen Schlüsselindex erstellen. Wenn Sie einen Schlüssel hinzufügen, fügen Sie den Schlüsselnamen zu einem Satz hinzu. Der Befehl "keys" ist nicht besonders nützlich, wenn Sie erst einmal skaliert haben, da die Rückkehr viel Zeit in Anspruch nimmt.
Lassen Sie das Zugriffsmuster bestimmen, wie Sie Ihre Daten strukturieren, anstatt sie so zu speichern, wie Sie es für richtig halten, und dann daran zu arbeiten, wie Sie später darauf zugreifen und sie reduzieren können. Sie werden eine weitaus bessere Leistung sehen und feststellen, dass der datenverbrauchende Code oft viel sauberer und einfacher ist.
In Bezug auf einzelne Threads ist zu beachten, dass redis für Geschwindigkeit und Atomarität ausgelegt ist. Sichere Aktionen, die Daten in einer Datenbank modifizieren, müssen nicht auf einer anderen Datenbank warten, sondern was passiert, wenn diese Aktion in der Speicherabbilddatei gespeichert wird oder Transaktionen auf Slaves verarbeitet werden? An diesem Punkt fangen Sie an, in die Unkräuter der Gleichzeitigkeitsprogrammierung zu geraten.
Indem Sie mehrere Instanzen verwenden, verwandeln Sie die Multi Threading-Komplexität in ein einfacheres Nachrichtenübergabestilsystem.
in Ihrer Node.js App, tun Sie dies ---> module.exports = {"1": "Ihr Name für redisd db one", "2": "Ihr Name für redis db two", " 3 ":" Ihr Name für redis db three "} usw., oder wechseln Sie die Schlüssel und Werte, was immer Sie brauchen –
In Redis 2.8.0 und höher wird empfohlen, dass Sie SCAN anstelle von KEYS verwenden, weil es über eine kleine Zahl iteriert von Elementen gleichzeitig (wodurch der Server für längere Zeit nicht blockiert wird). – TryHarder