Redis om

Redis om

Introducción a Redis OM

Como programadores de computadoras que trabajan con datos, es una asignación regular para organizar los datos para cumplir con un requisito específico. Las estructuras de datos facilitan esta tarea para los desarrolladores al proporcionar las formas adecuadas de operar en datos. Redis es uno de los almacenes de datos en memoria populares que admite varias estructuras de datos robustas, como hashes, conjuntos clasificados, conjuntos, listas, transmisiones, etc. Esto abrió las puertas para implementar las herramientas avanzadas como colas de mensajes, cachés, tablas de clasificación, pub/subystems, etc. de manera más eficiente y con costo reducido.

El problema común es que es costoso y requiere mucho tiempo implementar las herramientas mencionadas anteriormente desde cero. Por lo tanto, el equipo de desarrollo se le ocurrió una capa de abstracción para facilitar el mapeo entre las estructuras de datos del núcleo de redis y el lenguaje de programación que usan. Incluso si se implementa una capa de abstracción personalizada, podría introducir un retraso de rendimiento considerable. Debido a eso, no podrá obtener el máximo rendimiento de las estructuras de datos de Redis.

Redis OM es un mapeador de objetos para Redis que ayuda a los desarrolladores a trabajar con estructuras de datos de Redis dentro de su entorno de programación sin esfuerzo adicional. Proporciona una capa de abstracción de nivel superior para el mapeo de objetos. Por lo general, un dominio específico se modela de forma orientada a objetos. Por lo tanto, Redis OM proporciona un conjunto de bibliotecas de clientes específicas del lenguaje que pueden usarse para persistir objetos de dominio en el almacén de datos Redis y obtener aquellos con una API específica de lenguaje.

Mapeo de objetos de dominio con Redis OM

La capacidad de mapeo de objetos es una de las principales características que vienen con Redis OM. La capa de abstracción redis om facilita la vida del consumidor al proporcionar una API específica de lenguaje rico. Implica un proceso simple y menos lento a seguir.

Supongamos que estamos trabajando en un dominio ERP y necesitamos almacenar a los empleados en la tienda Redis. Con Redis Om en su lugar, debemos definir primero nuestro esquema de "empleado" de la siguiente manera. Usaremos la biblioteca de cliente OM para el nodo.js aquí:

El empleado de la clase extiende la entidad
const esquema = nuevo esquema (empleado,
ID: Tipo: 'String',
Age: type: 'número',
grados: type: 'string []'
);

Las clases de "entidad" y "esquema" provienen de la capa de abstracción OM.

A continuación, se puede crear una instancia de empleado de la siguiente manera:

Const EmployeeSoBj = EmpleeEeRepository.createEntity ()
empleadoBJ.id = "1000"
empleadoBJ.edad = 45
empleadoBJ.grados = ['BSC', 'MSC', 'PhD']
const empleadoBjid = espera empleadoeeRepository.Guardar (álbum)

El "EmployeeObjid" posee el ulid del objeto creado que es seguro de URL, globalmente único y codificado por Base32. Es más similar a los uuids habituales. Además, las entidades de dominio se serializan de dos maneras diferentes. Los objetos básicos con una estructura uniforme se serializan a un hash redis. Los objetos complejos con decenas de campos y entidades anidadas se convierten en estructura JSON utilizando el módulo Redisjson.

Consulta de objetos de dominio con Redis OM

Redis OM proporciona una API de consulta para obtener los objetos persistentes en la tienda Redis. Esta API de consulta utiliza los módulos Redisjson y RedisSearch en su implementación base para proporcionar indexación y consulta para objetos de dominio. El rendimiento de la consulta es eficiente porque están indexados por defecto.

Podemos consultar todos los objetos de los empleados en la tienda Redis utilizando el nodo.JS OM API como sigue:

empleadoeeRepository.buscar().devolver.todo()

Además, la consulta se puede hacer de diferentes maneras utilizando las opciones de filtrado proporcionadas por Redis OM Fluent Consult API. La cláusula "Where" se puede usar de la siguiente manera:

empleadoeeRepository.buscar().dónde().EQ ().devolver.todo()
empleadoeeRepository.buscar().dónde().GT ().devolver.todo()
empleadoeeRepository.buscar().dónde().LT ().devolver.todo()
empleadoeeRepository.buscar().dónde().EQ ().devolver.todo()

Libera muchas cargas lejos de los desarrolladores al enfocarse más en el desarrollo de aplicaciones.

Redis om bibliotecas de clientes

Al momento de escribir este artículo, se lanzan cuatro bibliotecas de clientes principales de Redis Om para Java Spring, .Red, nodo.JS y lenguas de Python. El nodo.La biblioteca JS se implementa utilizando el TypeScript y admite los dominios TypeScript y JavaScript. El .Biblioteca OM específica de net habilita el .Desarrolladores netos para mapear y consultar los objetos de dominio utilizando Linq.

Además, la biblioteca Redis Om Python se integra con el marco Fastapi para proporcionar el soporte sincrónico y asíncrono. El popular marco de primavera de Java está integrado con Redis OM para proporcionar las estructuras de datos probabilísticas.

Conclusión

En resumen, Redis OM proporciona un conjunto de bibliotecas de clientes específicas de lenguaje para asignar sus objetos de dominio a las estructuras de datos de Redis. Es una capa de abstracción que lo ayuda a concentrarse más en la lógica de su aplicación sin preocuparse por cómo mapear un Java o un nodo.clase JS a un hash redis. Como se indica, Redis OM se centra en el mapeo y consultas de objetos. Los objetos de dominio se serializan en estructuras hash o json basadas en la complejidad del objeto. Por otro lado, la API de consulta utiliza los módulos Redisjson y RedisSearch. Redis OM admite Java, nodo.JS, Python y .Bibliotecas de clientes netos.