Berkeley DB对并发的支持

Berkeley DB对并发的支持
Berkeley DB对并发的支持

要让Berkeley DB数据支持并发,就要创建Berkeley DB的环境(environment)
环境类是 DbEnv。要支持并发,在初始化DbEnv时要用DB_INIT_CDB、DB_INIT_MPOOL
两个标致。

如下

DbEnv env;
env.open( "evn", DB_INIT_CDB|DB_INIT_MPOOL, 0 );

然后在创建数据库时,将环境传给数据库。如下

Db bdb( &env, 0 );

这样就可以支持并发了。

Berkeley DB并发的简单原则
Berkeley DB的并发遵循的是允许同时多个读操作,当只有一个写操作。
1 每个游标有一锁,非游标的读写用一锁
2 写操作等待所有的读锁解锁。
3 读操作不需要等待写锁解锁。

你可能感兴趣的:(Berkeley DB对并发的支持)