sql >> Base de Datos >  >> NoSQL >> Redis

¿Cómo funciona ServiceStack Redis en la recuperación de datos?

La eficiencia es menos llamadas de red vs más datos . Los datos en Redis simplemente se borran, la mayoría de las veces una sola llamada API se asigna 1:1 con una operación de servidor Redis. Lo que significa que puede pensar en las implicaciones de rendimiento como simplemente descargar un blob de conjunto de datos json de la memoria de un servidor remoto y deserializarlo en el cliente, que es efectivamente todo lo que sucede.

En algunas API, como GetAll(), se requieren 2 llamadas, 1 para obtener todos los ID en el conjunto de entidades y la otra para obtener todos los registros con esos ID. El código fuente del cliente de Redis es bastante accesible, por lo que recomiendo echar un vistazo para ver exactamente lo que está sucediendo.

Debido a que solo tiene 3 categorías, no se ahorran muchos datos adicionales al intentar filtrar en el servidor.

Así que tus opciones son básicamente:

  • Descargue todo el conjunto de datos de la entidad y filtre en el cliente
  • Mantenga un mapeo de índice personalizado desde Categoría> Id.
  • Más avanzado:use una operación LUA del lado del servidor para aplicar el filtrado del lado del servidor (requiere Redis 2.6)