15 unstable releases (5 breaking)

0.6.4 Feb 12, 2022
0.6.3 Oct 30, 2021
0.6.2 May 29, 2021
0.5.0 May 12, 2021
0.1.0 May 2, 2021

#2656 in Database interfaces

Download history 31/week @ 2024-07-22 9/week @ 2024-07-29 21/week @ 2024-08-05 12/week @ 2024-08-12 29/week @ 2024-08-19 80/week @ 2024-08-26 20/week @ 2024-09-02 24/week @ 2024-09-09 26/week @ 2024-09-16 70/week @ 2024-09-23 23/week @ 2024-09-30 29/week @ 2024-10-07 9/week @ 2024-10-14 15/week @ 2024-10-21 18/week @ 2024-10-28 31/week @ 2024-11-04

73 downloads per month

MIT/Apache

155KB
5K SLoC

mobc-reql

ReQL connection pool implementation

use mobc_reql::{GetSession, Pool, SessionManager};

// Create the session manager
let manager = SessionManager::new(Default::default());

// Pull the rest of your nodes from your cluster. The connection pool
// connects to the node with the lowest latency.
// It is optional but highly recommended. This way, your app will
// continue working even when nodes go up and down.
tokio::spawn(manager.discover_hosts());

// Create the pool
let pool = Pool::builder().max_open(20).build(manager);

// Get a session from the pool
let session = pool.session().await?;

// You can pass a reference of the session to run.
// This allows you to use the same underlying connection for multiple
// queries as long as none of them is a change-feed.
// You can even use just one connection for your entire app, even running
// the queries concurrently.
//
// Change feeds on the other hand, require dedicated connections,
// so for each changefeed you need to grab a new session from the pool.
r.expr("Hello world!").run(&session);

Dependencies

~14–31MB
~530K SLoC