Vibe.dで簡単にあなたのバックエンドサービスのデータベースにアクセスできます。 MongoDBやRedisのサポートはvibe.dに直接あり、 他のデータベースアダプタはcode.dlang.org で見つけることができます。
MongoDBへのアクセスはクラスMongoClient
で設計されています。実装は外部依存を持たず、vibe.dの非同期ソケットを使って実装されています。
接続にレイテンシがあった場合でもブロックは必要ありません。
auto client = connectMongoDB("127.0.0.1");
auto users = client.getCollection("users");
users.insert(Bson("peter"));
Redisサポートもvibe.dソケットで実装されており外部依存を持ちません。
実装の中枢はRedisサーバに対してコマンドを実行できる
RedisDatabase
クラスです。
Redisに保存されているリストに透過的にアクセスできる
RedisList
のような
便利なラッパもあります。
公式MySQLライブラリへの外部依存なしにMySQLのサポートが mysql-nativeプロジェクト を使って追加できます。これもvibe.dのノンブロッキングソケットをサポートしています。
フル機能のPostgresqlクライアントは公式libpqライブラリを基にした外部モジュール dpq2で実装されています。 これはvibe.dのイベントシステムを非同期的振る舞いを実装するのに使っています。
Postgresqlの他の代替品に、 vibe.dソケットで実装したPostgresqlクライアントで、 外部依存がないddb があります。