Redis
 sql >> Datenbank >  >> NoSQL >> Redis

So cachen Sie große Objekte mit dem Redis-Cache

Redis ist eigentlich nicht zum Speichern großer Objekte (viele MB) ausgelegt, da es sich um einen Single-Thread-Server handelt. Eine Anfrage ist also schnell genug, aber einige wenige Anfragen sind langsam, da sie alle von einem Thread verarbeitet werden. In den letzten Versionen wurden einige Optimierungen vorgenommen.

Die Geschwindigkeit des Arbeitsspeichers und die Speicherbandbreite scheinen weniger kritisch für die Gesamtleistung zu sein, insbesondere für kleine Objekte. Bei großen Objekten (>10 KB) kann es jedoch auffallen. Normalerweise ist es nicht wirklich rentabel, teure schnelle Speichermodule zu kaufen, um Redis zu optimieren. https://redis.io/topics/benchmarks

Sie können also Jumbo-Frames verwenden oder einen schnelleren Speicher kaufen, wenn dies möglich ist. Aber eigentlich wird es nicht viel helfen. Erwägen Sie stattdessen die Verwendung von Memcached. Es ist multithreaded und kann horizontal skaliert werden, um große Datenmengen zu unterstützen. Redis kann nur mit Master-Slave-Replikation skaliert werden.