Angenommen, Sie haben 32 GB Speicher für Redis und anderen Speicher für Ihre Systemressourcen reserviert, können Sie die Anzahl der Einträge berechnen, die Sie speichern können. Beachten Sie jedoch, dass dies extrem verallgemeinert ist, da es immer eine Art Aufwand gibt. Wenn Sie die reine Anzahl von Einträgen aus mathematischer Sicht betrachten, könnten Sie ungefähr eine Milliarde Einträge mit 32 GB RAM speichern.
1 GB = 1024MB 1 MB = 1024KB 1 KB = 1024B 1GB = 1,073,741,824B 32GB = 34,359,738,368B size = 12B + 20B = 32B number_of_entries = (available_size / size_of_entry) = (34,359,738,368B / 32B) = 1,073,741,824
Wie ich schon sagte, ist es sehr schlimm anzunehmen, dass es keinen Overhead gibt. Siehe Redis 'FAQ unten. Ohne weitere Details Ihrer Umgebung zu kennen, ist es unmöglich, genauere Zahlen anzugeben.
Was ist der Speicherfußabdruck von Redis?
Um einige Beispiele zu nennen (alle mit 64-Bit-Instanzen erhalten): Eine leere Instanz benötigt ~ 1 MB Speicher. 1 Million kleine Keys -> String Value-Paare benötigen ~ 100 MB Speicher. 1 Million Keys -> Hashwert, der ein Objekt mit 5 Feldern darstellt, benötigt ~ 200 MB Speicher. Um zu testen, ob Ihr Anwendungsfall trivial ist, verwenden Sie das Dienstprogramm redis-benchmark, um zufällige Datensätze zu generieren und mit dem INFO-Speicherbefehl den verwendeten Speicherplatz zu überprüfen. 64-Bit-Systeme benötigen erheblich mehr Speicher als 32-Bit-Systeme, um dieselben Schlüssel zu speichern, insbesondere wenn die Schlüssel und Werte klein sind. Dies liegt daran, dass Zeiger in 64-Bit-Systemen 8 Byte benötigen. Der Vorteil ist natürlich, dass Sie in 64-Bit-Systemen über viel Speicher verfügen können. Um große Redis-Server betreiben zu können, ist ein 64-Bit-System mehr oder weniger erforderlich. Die Alternative schert aus.