Redis
 sql >> Base de Dados >  >> NoSQL >> Redis

Como o ServiceStack Redis funciona na recuperação de dados


A eficiência é menos chamadas de rede vs mais dados . Os dados no Redis são apenas blobbados, na maioria das vezes uma única chamada de API mapeia 1:1 com uma operação do servidor redis. O que significa que você pode pensar nas implicações de perf como simplesmente baixar um blob de conjunto de dados json da memória de um servidor remoto e desserializá-lo no cliente - o que é efetivamente tudo o que acontece.

Em algumas APIs, como GetAll(), são necessárias 2 chamadas, 1 para buscar todos os ids no conjunto Entity e a outra para buscar todos os registros com esses ids. O código-fonte do Redis Client é bastante acessível, então recomendo dar uma olhada para ver exatamente o que está acontecendo.

Como você tem apenas 3 categorias, não são tantos dados extras que você está economizando tentando filtrar no servidor.

Então suas opções são basicamente:
  • Faça o download de todo o conjunto de dados da entidade e filtre no cliente
  • Mantenha um mapeamento de índice personalizado em Categoria> IDs
  • Mais avançado:use uma operação LUA do lado do servidor para aplicar a filtragem do lado do servidor (requer Redis 2.6)