Redis om

Redis om

Introduction à redis om

En tant que programmeurs informatiques qui travaillent avec des données, il s'agit d'une affectation régulière pour organiser les données pour se conformer à une exigence spécifique. Les structures de données facilitent cette tâche pour les développeurs en fournissant les moyens de fonctionner sur les données. Redis est l'un des magasins de données populaires en mémoire qui prend en charge plusieurs structures de données robustes telles que les hachages, les ensembles triés, les ensembles, les listes, les flux, etc. Cela a ouvert les portes pour la mise en œuvre des outils avancés comme les files d'attente de messages, les caches, les classements, le pub / sous-systèmes, etc. plus efficacement et avec un coût réduit.

Le problème commun est qu'il est coûteux et prend du temps pour implémenter les outils mentionnés précédemment à partir de zéro. Ainsi, l'équipe de développement a proposé une couche d'abstraction pour faciliter la cartographie entre les structures de données de redis de base et le langage de programmation qu'ils utilisent. Même si une couche d'abstraction personnalisée est mise en œuvre, il pourrait introduire un décalage de performance considérable. Pour cette raison, vous ne pourrez pas retirer les performances maximales des structures de données redis.

Redis om est un mappeur d'objet pour redis qui aide les développeurs à travailler avec des structures de données redis dans leur environnement de programmation sans effort supplémentaire. Il fournit une couche d'abstraction de niveau supérieur pour la cartographie des objets. Habituellement, un domaine spécifique est modélisé d'une manière orientée objet. Ainsi, Redis om fournit un ensemble de bibliothèques clients spécifiques à la langue qui peuvent être utilisées pour persister des objets de domaine dans le magasin de données Redis et récupérer ceux avec une API spécifique à la langue.

Mappage d'objets de domaine avec redis om

La capacité de cartographie des objets est l'une des principales caractéristiques qui viennent avec redis om. La couche d'abstraction redis om facilite la vie du consommateur en fournissant une API riche en langue. Cela implique un processus simple et moins long à suivre.

Supposons que nous travaillons dans un domaine ERP et que nous devons stocker les employés du magasin Redis. Avec Redis om en place, nous devons d'abord définir notre schéma «employé» comme suit. Nous utiliserons la bibliothèque client OM pour le nœud.JS ici:

L'employé de classe étend l'entité
Const Schema = nouveau schéma (employé,
id: type: 'String',
Âge: Type: 'Number',
Degrés: Type: 'String []'
);

Les classes «entités» et «schéma» proviennent de la couche d'abstraction OM.

Ensuite, une instance d'employé peut être créée comme suit:

const EmployeeObj = EmployeErepository.createentity ()
employeeobj.id = "1000"
employeeobj.Âge = 45
employeeobj.degrés = ['bsc', 'msc', 'phd']
const EmployeeObjid = attendre un employé.sauver (album)

Le «EmployeeObjid» détient l'ulide de l'objet créé qui est en sécurité, à l'échelle mondiale et à la base 32. Il est plus similaire aux uuids habituels. De plus, les entités de domaine sont sérialisées de deux manières différentes. Les objets de base avec une structure uniforme sont sérialisés à un hachage redis. Les objets complexes avec des dizaines de champs et des entités imbriquées sont converties en structure JSON en utilisant le module Redisjson.

Interroger des objets de domaine avec redis om

Redis Om fournit une API de requête pour récupérer les objets persistants dans le magasin Redis. Cette API de requête utilise les modules Redisjson et Redissearch à son implémentation de base pour fournir l'indexation et l'interrogation pour les objets de domaine. Les performances de la requête sont efficaces car elles sont indexées par défaut.

Nous pouvons interroger tous les objets des employés dans le magasin Redis à l'aide du nœud.API JS OM comme suit:

employée.recherche().retour.tous()

De plus, la requête peut être effectuée de différentes manières en utilisant les options de filtrage fournies par l'API de requête redis om. La clause «où» peut être utilisée comme suit:

employée.recherche().où().EQ ().retour.tous()
employée.recherche().où().GT ().retour.tous()
employée.recherche().où().LT ().retour.tous()
employée.recherche().où().EQ ().retour.tous()

Il libère beaucoup de charges loin des développeurs en se concentrant davantage sur le développement d'applications.

Redis om bibliothèques clients

Au moment de la rédaction de cet article, quatre bibliothèques clients principales sont publiées pour Java Spring, .Net, nœud.js et langues python. Le nœud.La bibliothèque JS est implémentée à l'aide du TypeScript et il prend en charge les domaines TypeScript et JavaScript. Le .La bibliothèque OM spécifique nette permet le .Les développeurs nets pour mapper et interroger les objets de domaine à l'aide de Linq.

De plus, la bibliothèque Redis om Python s'intègre au framework Fastapi pour fournir le support synchrone et asynchrone. Le framework printanier populaire de Java est intégré à la redis om pour fournir les structures de données probabilistes.

Conclusion

En bref, Redis Om fournit un ensemble de bibliothèques clients spécifiques à la langue pour cartographier vos objets de domaine aux structures de données redis. Il s'agit d'une couche d'abstraction qui vous aide à vous concentrer davantage sur votre logique d'application sans vous soucier de la façon de cartographier un java ou un nœud.Classe JS à un hachage redis. Comme indiqué, Redis om se concentre sur la cartographie des objets et l'interrogation. Les objets de domaine sont sérialisés en hachages ou en structures JSON en fonction de la complexité de l'objet. D'un autre côté, l'API de requête utilise les modules Redisjson et Redessearch. Redis om prend en charge Java, nœud.JS, Python et .Bibliothèques de clients nets.