36个版本 (破坏性更新)
0.25.0 | 2024年7月21日 |
---|---|
0.24.0 | 2024年2月17日 |
0.23.0 | 2023年11月12日 |
0.22.0 | 2023年5月20日 |
0.0.1 | 2015年7月22日 |
#46 在 数据库接口
49,059 每月下载量
用于 72 个crates(直接使用54个)
9KB
102 代码行
r2d2-sqlite
r2d2连接池,基于Steven Fackler的r2d2-postgres。
lib.rs
:
为r2d2连接池提供SQLite支持。
库crate: r2d2-sqlite
示例
extern crate r2d2;
extern crate r2d2_sqlite;
extern crate rusqlite;
use std::thread;
use r2d2_sqlite::SqliteConnectionManager;
use rusqlite::params;
fn main() {
let manager = SqliteConnectionManager::file("file.db");
let pool = r2d2::Pool::new(manager).unwrap();
pool.get()
.unwrap()
.execute("CREATE TABLE IF NOT EXISTS foo (bar INTEGER)", params![])
.unwrap();
(0..10)
.map(|i| {
let pool = pool.clone();
thread::spawn(move || {
let conn = pool.get().unwrap();
conn.execute("INSERT INTO foo (bar) VALUES (?)", &[&i])
.unwrap();
})
})
.collect::<Vec<_>>()
.into_iter()
.map(thread::JoinHandle::join)
.collect::<Result<_, _>>()
.unwrap()
}
依赖项
~28MB
~441K SLoC