sql >> Database >  >> NoSQL >> Redis

Redis is traag om grote snaren te krijgen

Redis is niet ontworpen om zeer grote objecten op te slaan. Het is niet de bedoeling dat je je hele verzameling in een enkele tekenreeks in Redis opslaat, maar gebruik liever de Redis-lijst of set als een container voor je objecten.

Verder is het augurkformaat niet geoptimaliseerd voor ruimte ... je zou een compacter formaat nodig hebben. Protocolbuffers, MessagePack of zelfs gewone JSON zijn hier waarschijnlijk beter voor. Overweeg om een ​​licht compressiealgoritme toe te passen voordat u uw gegevens opslaat (zoals Snappy, LZO, Quicklz, LZF, enz ...).

Ten slotte zijn de prestaties waarschijnlijk netwerkgebonden. Op mijn computer duurt het ophalen van een object van 20 MB uit Redis 85 ms (niet 3 seconden). Als ik nu dezelfde test uitvoer met een externe server, duurt het 1,781 seconden, wat verwacht wordt op dit 100 Mbit/s-netwerk. De duur is volledig afhankelijk van de netwerkbandbreedte.

Laatste punt:zorg ervoor dat u een recente Redis-versie gebruikt - er zijn een aantal optimalisaties uitgevoerd om met grote objecten om te gaan.



  1. Hoe te herstellen van een MongoDB-terugdraaiing?

  2. Hoe kan ik alle collecties in de MongoDB-shell weergeven?

  3. Script heeft geprobeerd een globale variabele te maken

  4. ScaleGrid Hosting voegt ondersteuning toe voor zeer beschikbare Redis™-clusters met geautomatiseerde sharding