`
mengyang
  • 浏览: 266512 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

BerkeleyDB-JE Environments

    博客分类:
  • BDB
阅读更多
Environments封装了一个或多个的数据库。个人觉得可以理解为是JE的总的配置的环境。我们一般用它来打开database,或者是取得transaction。
下面演示打开和关闭Enviroment。
Environment myDbEnvironment = null;
try {
    EnvironmentConfig envConfig = new EnvironmentConfig();
    envConfig.setAllowCreate(true);
    myDbEnvironment = new Environment(new File("/export/dbEnv"), 
                                      envConfig);
    ...do something
} catch (DatabaseException dbe) {
    // Exception handling goes here
} finally{
    if (myDbEnvironment != null) {
        myDbEnvironment.close();
    }
}

注意,可能出现一种情况是,在你关闭Environment的时候,后台线程(cleaner thread)还未完成它的工作,这将会导致你的日志文件不准确,为了保证这种情况不会发生,你可以在调用Environment.close()方法之前,调用Environment.cleanLog()方法。就像这样:
if (myDbEnvironment != null) {
    myDbEnvironment.cleanLog(); // Clean the log before closing
    myDbEnvironment.close();
}

接下来,我们讨论几个Environment的常用设置。Environment可以在开始创建的时候通过EnvironmentConfig来进行属性设置。
  • EnvironmentConfig.setAllowCreate()
  • 设置若不存在该Environment,则新建一个。注意的是文件可以不存在,但是文件夹必须要存在。
  • EnvironmentConfig.setReadOnly()
  • 设置是否由此Environment打开的database都是只读的。
  • EnvironmentConfig.setTransactional()
  • 设置这个Environment是否支持事务。

除了使用EnvironmentConfig在创建Environment的时候进行属性设置,你还可以用EnvironmentMutableConfig来设置一个已存在的Environment实例。注意的是EnvironmentConfig类是继承自EnvironmentMutableConfig类,所以在EnvironmentMutableConfig设置的属性,都可以通过EnvironmentConfig进行设置。
  • setCachePercent()
  • 设置JE缓存可以使用多少百分比的JVM缓存
  • setCacheSize()
  • 设置JE缓存可以使用多少大,单位是
  • setTxnNoSync()
  • 设置是否在事务提交的时候马上把改变写入到日志文件。
  • setTxnWriteNoSync()
  • 设置当事务提交的时候日志文件是否被刷新。

下面演示下Environment属性的设置:
EnvironmentConfig envConfig = new EnvironmentConfig();
envConfig.setAllowCreate(true);
myEnvConfig.setReadOnly(false);
Environment myEnv = new Environment(new File("/export/dbEnv"), null);
EnvironmentMutableConfig envMutableConfig = new EnvironmentMutableConfig();
envMutableConfig.setTxnNoSync(true);
myEnv.setMutableConfig(envMutableConfig); 

Environment的属性还能在JE的属性文件中设置,属性文件的位置是<environmentHome>/je.properties ,他们的优先顺序是:
1.在<environmentHome>/je.properties设置的属性
2.通过EnvironmentConfig设置的属性
3.默认的属性
1
0
分享到:
评论

相关推荐

    BerkeleyDB-JE je-6.0.11

    Oracle BerkeleyDB-JE je-6.0.11

    BerkeleyDB-Core-C-GSG.pdf

    ### Berkeley DB (C) 开发入门与核心技术解析 #### 概述 Berkeley DB(简称 BDB)是一款高性能的关键值存储数据库系统,被广泛应用于多种操作系统之上,支持多种访问方法和事务处理机制。该文档主要介绍了如何使用...

    Berkeley DB JE-7.0.6

    **Berkeley DB JE 7.0.6:深入理解分布式数据存储** Berkeley DB JE(Java Edition)是Oracle公司提供的一款开源、嵌入式、基于Java的键值对数据库系统。它以其轻量级、高性能和高可用性而受到广泛的青睐,尤其适合...

    Java-Edition-BerkeleyDB-3.1.0.zip_BerkeleyDB

    在Je-3.1.0版本中,BerkeleyDB使用特定的数据库文件格式,这些文件可以在不同平台上进行迁移,确保了跨平台的兼容性。 **7. 性能优化** BerkeleyDB提供了多种性能调优选项,如缓存大小设置、日志文件管理等,...

    berkeley db db-6.1.26.tar.gz

    db-6.1.26.tar.gz berkeley db

    BerkeleyDB-Core-Cxx-GSG.rar

    **Berkeley DB (BDB)** 是一款开源的、嵌入式数据库系统,由Oracle公司提供。它被广泛用于需要高效本地存储和简单数据管理的软件应用程序中,特别是在那些对性能和可靠性有高要求的场景。BDB的核心特性包括事务处理...

    BerkeleyDB-Core-Cxx-GSG.rar_Berkeley DB_berkeley Db cxx

    《Berkeley DB核心技术指南——C++接口篇》 Berkeley DB(简称BDB)是由Oracle公司开发的一款开源、轻量级、嵌入式数据库系统,主要用于处理键值对存储问题。它广泛应用于需要快速访问数据的环境,如网络服务器、...

    db-4.7.25-master_db-4.7.25-master_berkeleydbvxworks_BerkeleyDB_源

    Berkeley DB是一个开源的文件数据库,介于关系数据库与内存数据库之间,使用方式与内存数据库类似,它提供的是一系列直接访问数据库的函数,而不是像关系数据库那样需要网络通讯、SQL解析等步骤,本文件是早期版本

    Berkeley DB -- Access Method Configuration_iyangjian200599

    (二) Berkeley DB -- Access Method Configuration_iyangjian2005997_新浪博客.mht

    BerkeleyDB-Core-JAVA-GSG.pdf

    ### Berkeley DB for Java:概述与入门指南 #### 一、Berkeley DB简介 Berkeley DB (BDB) 是一个高性能的嵌入式数据库系统,它以其高效的数据存储和检索能力而闻名。根据提供的文档信息,“BerkeleyDB-Core-JAVA-...

    BerkeleyDB-0.26

    **BerkeleyDB** 是一款由 Oracle 公司开发的开源、高性能、无模式的键值对存储数据库系统。它在嵌入式环境和轻量级应用程序中被广泛使用,尤其适用于那些需要快速数据访问和简单数据管理的应用。BerkeleyDB 的设计...

    BerkeleyDB-0.27

    **BerkeleyDB** 是一款强大的、高度可定制的嵌入式数据库系统,广泛应用于各种软件开发,尤其是在需要高效存储和检索数据的场景中。这款数据库系统由Oracle公司开发,最初在1990年由Sleepycat Software推出,因其...

    BerkeleyDB-Core-c++-GSG

    ### BerkeleyDB-Core-c++-GSG 知识点解析 #### 一、Berkeley DB 概述 **Berkeley DB** 是一款高性能的关键值存储数据库系统,被广泛应用于多种应用场景中,包括嵌入式系统、应用程序服务器等。该文档主要介绍了...

    Berkeley DB -- 入门知识和一个小例子_iyangjian2005997_新浪博客.mht

    Berkeley DB -- 入门知识和一个小例子_iyangjian2005997_新浪博客.mht

    Berkeley DB4.8以上各版本

    Berkeley DB是一款由Oracle公司开发的嵌入式数据库系统,被广泛应用于许多软件项目中,尤其是在需要快速、轻量级数据存储解决方案的场景下。它提供了键值对存储模式,适用于构建高性能的数据缓存和数据库应用程序。...

    BerkeleyDB Manual C/C++

    《BerkeleyDB Manual C/C++》是一份详尽的官方文档,主要针对使用C和C++语言进行数据库操作的开发者。BerkeleyDB是一款轻量级、高性能的关系型数据库管理系统,常用于嵌入式系统和分布式应用程序。这篇手册将深入...

    analyzerbeans-berkeleydb-0.21.jar

    官方版本,亲测可用

    BerkeleyDB_java_jar包

    BerkeleyDB是一个开源的、基于键值对的嵌入式数据库系统,由Oracle公司提供。它为Java开发者提供了丰富的API,使得在Java应用程序中轻松集成数据存储成为可能。标题中的"BerkeleyDB_java_jar包"指的是适用于Java开发...

    Berkeley DB C++编程入门教

    Berkeley DB是一个由Oracle公司开发的开源嵌入式数据库系统,支持多种编程语言接口,其中C++是其中之一。它为开发者提供了一个轻量级的数据库解决方案,适用于多种应用程序。Berkeley DB允许开发者在应用程序中直接...

    Berkeley DB Java Edition (JE)

    Berkeley DB Java Edition (JE) 官方7.5.11下载版本。 相关介绍 https://blog.csdn.net/hadues/article/details/80854288

Global site tag (gtag.js) - Google Analytics