sql >> Database >  >> NoSQL >> Redis

Hoe werkt ServiceStack Redis bij het ophalen van gegevens?

De efficiëntie is minder netwerkoproepen vs meer gegevens . Gegevens in Redis worden gewoon blobbed, meestal brengt een enkele API-aanroep 1:1 in kaart met een redis-serverbewerking. Dat betekent dat je kunt nadenken over de perf-implicaties als het eenvoudig downloaden van een json-dataset-blob uit het geheugen van een externe server en het deserialiseren op de client - en dat is eigenlijk alles wat er gebeurt.

In sommige API's, zoals GetAll() zijn 2 aanroepen nodig, 1 om alle id's in de Entity-set op te halen en de andere om alle records met die id's op te halen. De broncode van de Redis Client is vrij benaderbaar, dus ik raad aan om eens te kijken om te zien wat er precies gebeurt.

Omdat je maar 3 categorieën hebt, zijn het niet zoveel extra gegevens die je bespaart door te proberen te filteren op de server.

Dus uw opties zijn in principe:

  • Download de volledige entiteitsdataset en filter op de client
  • Behoud een aangepaste indextoewijzing van Categorie> Id's
  • Meer geavanceerd:gebruik een LUA-bewerking aan de serverzijde om filtering aan de serverzijde toe te passen (vereist Redis 2.6)



  1. Hoe duplicaten te verwijderen op basis van een sleutel in Mongodb?

  2. Couchbase XDCR-replicatie – Stap voor stap – Best Practices

  3. Redis auth-fout met Node.js en socket.io

  4. Hoe stel ik een Elasticache Redis-cluster in als een slaaf?