Effektiviteten er færre netværksopkald kontra flere data . Data i Redis bliver bare udslettet, det meste af tiden kortlægger et enkelt API-kald 1:1 med en redis-serveroperation. Hvilket betyder, at du kan tænke på perf-implikationerne som blot at downloade en json-datasæt-blob fra en ekstern servers hukommelse og deserialisere den på klienten - hvilket faktisk er alt, hvad der sker.
I nogle API'er såsom GetAll() kræver det 2 kald, 1 for at hente alle id'erne i enhedssættet, og det andet for at hente alle posterne med disse id'er. Kildekoden til Redis-klienten er ret tilgængelig, så jeg anbefaler, at du kigger for at se præcis, hvad der sker.
Fordi du kun har 3 kategorier, er det ikke så meget ekstra data, du gemmer ved at forsøge at filtrere på serveren.
Så dine muligheder er grundlæggende:
- Download hele enhedsdatasættet og filtrer på klienten
- Oprethold en tilpasset indekskortlægning fra Kategori> Id'er
- Mere avanceret:Brug en LUA-handling på serversiden til at anvende filtrering på serversiden (kræver Redis 2.6)