Sie möchten nicht mehrere Datenbanken in einer einzigen Redis-Instanz verwenden. Es ist veraltet und wie Sie bereits bemerkt haben, können Sie mit mehreren Instanzen mehrere Kerne nutzen. Wenn Sie die Datenbankauswahl verwenden, müssen Sie beim Upgrade eine Umgestaltung vornehmen. Das Überwachen und Verwalten mehrerer Instanzen ist weder schwierig noch schmerzhaft.
In der Tat würden Sie durch Trennung nach Instanz weitaus bessere Metriken für jede Datenbank erhalten. Jede Instanz würde Statistiken haben, die dieses Datensegment widerspiegeln, was eine bessere Abstimmung und eine reaktionsschnellere und genauere Überwachung ermöglichen kann. Verwenden Sie eine aktuelle Version und trennen Sie Ihre Daten nach Instanzen.
Verwenden Sie nicht den Befehl keys, wie Jonaton sagte. Sie erzielen eine weitaus bessere Leistung, wenn Sie einfach einen Schlüsselindex erstellen. Fügen Sie beim Hinzufügen eines Schlüssels den Schlüsselnamen zu einem Satz hinzu. Der Befehl keys ist nach dem Skalieren nicht besonders nützlich, da die Rückkehr einige Zeit in Anspruch nimmt.
Lassen Sie das Zugriffsmuster bestimmen, wie Sie Ihre Daten strukturieren, anstatt sie so zu speichern, wie Sie denken, und arbeiten Sie dann daran, wie Sie später darauf zugreifen und sie zerkleinern können. Sie werden eine weitaus bessere Leistung feststellen und feststellen, dass der datenverbrauchende Code häufig viel sauberer und einfacher ist.
Beachten Sie bei Single Threaded, dass Redis auf Geschwindigkeit und Atomizität ausgelegt ist. Sicher, dass Aktionen, die Daten in einer Datenbank ändern, nicht auf eine andere Datenbank warten müssen, aber was ist, wenn diese Aktion in der Speicherauszugsdatei gespeichert oder Transaktionen auf Slaves verarbeitet werden? An diesem Punkt beginnen Sie mit dem Unkraut der Parallelitätsprogrammierung.
Durch die Verwendung mehrerer Instanzen verwandeln Sie die Komplexität von Multithreading in ein einfacheres System zur Weitergabe von Nachrichten.