sql >> Database >  >> NoSQL >> Redis

Benchmarking ophalen van redis versus geheugen in python (met behulp van timeit)

In de vergelijking die je hier hebt gemaakt, meet je eigenlijk gewoon hoe lang Python er over doet om in het tweede geval een nieuwe naam aan een waarde te binden. Het verbaast me dus niet dat dit veel sneller gaat dan communiceren met een ander proces (Redis). Ik denk dat wat me verbaast is dat je zou overwegen om een ​​waarde van Redis te krijgen als de optie bestaat, gewoon om het in het geheugen te bewaren.

U moet dus duidelijker zijn over waarom u Redis hiervoor in de eerste plaats gebruikt. Het zal altijd langzamer zijn dan in-process geheugen, daar is geen benchmark voor nodig. Je moet je afvragen "waarom gebruik ik niet alleen Python-lijsten en woordenboeken"? Er zijn verschillende geldige antwoorden:uw gegevens zijn te groot om in het geheugen te passen, u hebt cache-specifieke functies nodig, zoals het laten verdwijnen van waarden na een tijdje, of u wilt het gebruiken voor IPC of persistentie. Zodra u het antwoord hier weet, zal dat de benchmarking bepalen die u wilt doen. En de vraag zal meer zijn als "Hoe krijg ik de voordelen/functies die ik hierboven heb opgesomd voor de minste prestatiestraf". Redis is misschien niet het enige antwoord. U kunt overwegen shelf voor doorzettingsvermogen, of misschien zelfs een volledige relationele database of Mongo of wat dan ook.

Kortom, als je eenmaal een goed idee hebt waarom, lost het hoe vaak zichzelf op.




  1. Redis 10x meer geheugengebruik dan data

  2. Ondersteunt Mongoose de Mongodb `findAndModify`-methode?

  3. Gedeelde sessies tussen Node-apps?

  4. Azure Function met Cosmos MongoDB-integratie wordt niet opgeslagen