Redis
 sql >> Base de données >  >> NoSQL >> Redis

Comment fonctionne ServiceStack Redis lors de la récupération de données

L'efficacité est moins d'appels réseau vs plus de données . Les données dans Redis sont juste blobées, la plupart du temps, un seul appel d'API mappe 1:1 avec une opération de serveur Redis. Ce qui signifie que vous pouvez considérer les implications de performance comme le simple téléchargement d'un blob d'ensemble de données json à partir de la mémoire d'un serveur distant et sa désérialisation sur le client - ce qui est en fait tout ce qui se passe.

Dans certaines API telles que GetAll(), il faut 2 appels, 1 pour récupérer tous les identifiants de l'ensemble d'entités et l'autre pour récupérer tous les enregistrements avec ces identifiants. Le code source du client Redis est assez accessible, je vous recommande donc de jeter un coup d'œil pour voir exactement ce qui se passe.

Parce que vous n'avez que 3 catégories, ce n'est pas beaucoup de données supplémentaires que vous économisez en essayant de filtrer sur le serveur.

Vos options sont donc :

  • Téléchargez l'intégralité de l'ensemble de données d'entité et filtrez sur le client
  • Maintenir un mappage d'index personnalisé depuis Catégorie > ID
  • Plus avancé :utilisez une opération LUA côté serveur pour appliquer le filtrage côté serveur (nécessite Redis 2.6)