Berkeley DB Java Edition使用说明详细Word格式.docx
- 文档编号:15916043
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:74
- 大小:162.13KB
Berkeley DB Java Edition使用说明详细Word格式.docx
《Berkeley DB Java Edition使用说明详细Word格式.docx》由会员分享,可在线阅读,更多相关《Berkeley DB Java Edition使用说明详细Word格式.docx(74页珍藏版)》请在冰豆网上搜索。
支持RAM缓冲,这样就能减少频繁的IO操作。
支持日志。
数据备份和恢复。
游标支持。
二、
获取JE
JE下载地址:
解开包后把JE_HOME/lib/je-<
version>
.jar
中的jar文件添加到你的环境变量中就可以使用je了。
相关帮助文档可以参考
JE_HOME/docs/index.html
源代码见JE_HOME/src/*.*
三、
JE常见的异常
DatabaseNotFoundException
当没有找到指定的数据库的时候会返回这个异常
DeadlockException
线程间死锁异常
RunRecoveryException
回收异常,当发生此异常的时候,你必须得重新打开环境变量。
四、
关于日志文件必须了解的六项
JE的日志文件跟其他的数据库的日志文件不太一样,跟C版的DBD也是有区别的
JE的日志文件只能APPEND,第一个日志文件名是
00000000.jdb,当他增长到一定大小的时候(默认是10M),开始写第二个日志文件00000001.jdb,已此类推。
跟C版本有所不同,JE的数据日志和事务日志是放在一起的,而不是分开放的。
JEcleaner负责清扫没用到的磁盘空间,删除后,或者更新后新的记录会追加进来,而原有的记录空间就不在使用了,cleaner负责清理不用的空间。
清理并不是立即进行的,当你关闭你的数据库环境后,通过调用一个cleaner方法来清理。
清理也不是只动执行的,需要你自己手动调用cleaner方法来定时清理的。
日志文件的删除仅发生在检查点之后。
cleaner准备出哪些log文件需要被删除,当检查点过后,删掉一些不在被使用的文件。
每写20M的日志文件就执行一次检查点,默认下。
五、
创建数据库环境
JE要求在任何DATABASE操作前,要先打开数据库环境,就像我们要使用数据库的话必须得先建立连接一样。
你可以通过数据库环境来创建和打开database,或者更改database名称和删除database.
可以通过Environments对象来打开环境,打开环境的时候设置的目录必须是已经存在的目录,否则会出错误。
默认情况下,如果指定的database不存在则不会自动创建一个新的detabase,但可以通过设置setAllowCreate来改变这一情况。
1.
打开database环境
示例:
packageje.gettingStarted;
importcom.sleepycat.je.DatabaseException;
importcom.sleepycat.je.Environment;
importcom.sleepycat.je.EnvironmentConfig;
importjava.io.File;
...
EnvironmentmyDbEnvironment=null;
try{
EnvironmentConfigenvConfig=newEnvironmentConfig();
envConfig.setAllowCreate(true);
//如果不存在则创建一个
myDbEnvironment=newEnvironment(newFile("
/export/dbEnv"
),envConfig);
}catch(DatabaseExceptiondbe){
//
错误处理
}
2.
关闭database环境
可以通过Environment.close()这个方法来关闭database环境,当你完成数据库操作后一定要关闭数据库环境。
if(myDbEnvironment!
=null){
myDbEnvironment.close();
}
//Exceptionhandlinggoeshere
3.
清理日志
通常在关闭数据库连接的时候,有必要清理下日志,用以释放更多的磁盘空间。
我们可以在Environment.close前执行下Environment.cleanLog()来达到此目的。
myDbEnvironment.cleanLog();
在关闭环境前清理下日志
4.
Database环境的配置
可以通过EnvironmentConfig这个对象来配置database环境。
如果想得到当前环境的配置信息则可以通过Environment.getConfig()方法得到当前环境的配置信息。
也可以使用EnvironmentMutableConfig来配置环境,其实EnvironmentConfig是EnvironmentMutableConfig的子类,所以EnvironmentMutableConfig能够使用的设置,EnvironmentConfig也同样能够使用。
如果你要获取当前环境的使用情况,那么你可以通过使用EnvironmentStats.getNCacheMiss().来监视RAMcache命中率。
EnvironmentStats可以由Environment.getStats()方法获取。
EnvironmentConfig常见方法介绍
EnvironmentConfig.setAllowCreate();
如果设置了true则表示当数据库环境不存在时候重新创建一个数据库环境,默认为false.
EnvironmentConfig.setReadOnly()
以只读方式打开,默认为false.
EnvironmentConfig.setTransactional()
事务支持,如果为true,则表示当前环境支持事务处理,默认为false,不支持事务处理。
EnvironmentMutableConfig的介绍
setCachePercent()
设置当前环境能够使用的RAM占整个JVM内存的百分比。
setCacheSize()
设置当前环境能够使用的最大RAM。
单位BYTE
setTxnNoSync()
当提交事务的时候是否把缓存中的内容同步到磁盘中去。
true表示不同步,也就是说不写磁盘
setTxnWriteNoSync()
当提交事务的时候,是否把缓冲的log写到磁盘上
示例一:
EnvironmentmyDatabaseEnvironment=null;
//当环境不存在的时候自动创建环境
//设置支持事务
envConfig.setTransactional(true);
myDatabaseEnvironment=
newEnvironment(newFile("
System.err.println(dbe.toString());
System.exit
(1);
示例二:
importcom.sleepycat.je.EnvironmentMutableConfig;
EnvironmentmyEnv=newEnvironment(newFile("
),null);
EnvironmentMutableConfigenvMutableConfig=
newEnvironmentMutableConfig();
envMutableConfig.setTxnNoSync(true);
myEnv.setMutableConfig(envMutableConfig);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Berkeley DB Java Edition使用说明详细 Edition 使用说明 详细