sql >> Database >  >> NoSQL >> Redis

Redis massa-insertie

Ik zou zeggen dat je op het pad bent van voortijdige optimalisatie (wat meestal niet de beste is).

Elke scripttaal met een Redis-client die pipelining ondersteunt, moet in staat zijn om ten minste 50K opdrachten/s naar de Redis-server te pushen. De code is eenvoudig en u hoeft het Redis-protocol niet handmatig te coderen. Toegegeven, de enorme invoegtruc is sneller, maar heb je het echt nodig?

Als je je nog steeds aan massieve insertie wilt houden, moet je een goede Redis-opdracht coderen. Het door u gegeven voorbeeld is om verschillende redenen onjuist:

  • het aantal argumenten klopt niet (uw voorbeeld moet beginnen met *3)

  • de lengte van het laatste argument is verkeerd (1,2,34 lengte is 6 bytes en niet 5).

  • in het SADD-commando heb je één argument per item van de set nodig (d.w.z. voor Redis zal 1,2,34 een enkel item zijn, niet drie).

Het juiste commando zou eerder zoiets zijn als dit:

"*5\r\n$4\r\nSADD\r\n$2\r\n80\r\n$1\r\n1\r\n$1\r\n2\r\n$2\r\n34\r\n"

Het Redis-protocol wordt hier beschreven:http://redis.io/topics/protocol




  1. Gesorteerde set van vaste maat in Redis?

  2. MongoDB dropIndex()

  3. MongoDB root gebruiker

  4. Hoe een lijst in een structuur in Redis nesten om het topniveau te verlagen?