Connexion à des bases de données

Vibe.d permet d'accéder facilement à vos bases de données. MongoDB et Redis sont directement supportés par vibe.d, et on peut trouver des adaptateurs pour d'autres bases de données sur code.dlang.org

MongoDB

L'accès à MongoDB se fait par la classe MongoClient. L'implémentation n'a pas de dépendances externes et utilise les sockets asynchrones de vibe.d, la connexion n'est pas bloquante s'il y a de la latence.

auto client = connectMongoDB("127.0.0.1");
auto users = client.getCollection("users");
users.inser(Bson("peter"));

Redis

Le support de Redis est également implémenté avec les sockets vibe.d et n'a pas de dépendances externes non plus. On utilise la classe RedisDatabase qui permet d'exécuter des commandes sur un serveur Redis. Des structures et des fonctions sont également disponibles pour vous faciliter la vie, comme RedisList qui permet d'accéder à une liste stockée dans Redis de façon transparente.

MySQL

Le support de MySQL sans dépendance à la bibliothèque MySQL officielle peut-être ajouté à vibe.d en utilisant mysql-native. Cette bibliothèque supporte les sockets non-bloquants de vibe.d aussi.

Postgresql

Un client Postgresql complet est implémenté dans la bibliothèque externe dpq2, qui est basée sur la bibliothèque officielle libpq. Elle utilise le système d'évènements de vibe.d pour implémenter un comportement asynchrone.

Une autre alternative à Postgresql est ddb qui implémente un client Postgresql avec les sockets vibe.d et aucune dépendance externe.

rdmd playground.d