环境属性

EnvironmentConfig.setAllowCreate() true不存在就创建,false如果不存在则打开环境失败。

EnvironmentConfig.setReadOnly() true 以只读方式打开,如果是多进程应用,每个进程都要设置为true.

EnvironmentConfig.setTransactional() true支持事务,false不支持,默认false。同样可以更改配置文件来设置此参数。

setCachePercent() 设置je的cache占用jvm 内存的百分比

setCacheSize() 设定缓存的大小

setTxnNoSync() 设定事务提交时是否写更改的数据到磁盘,true不写磁盘。

setTxnWriteNoSync() 设定事务在提交时,是否写缓冲的log到磁盘。如果写磁盘会影响性能,不写会影响事务的安全。随机应变。

package je.gettingStarted;

import com.sleepycat.je.DatabaseException;
import com.sleepycat.je.Environment;
import com.sleepycat.je.EnvironmentMutableConfig;

import java.io.File;


...

try {
    Environment myEnv = new Environment(new File("/export/dbEnv"), null);
    EnvironmentMutableConfig envMutableConfig = 
        new EnvironmentMutableConfig();
    envMutableConfig.setTxnNoSync(true);
    myEnv.setMutableConfig(envMutableConfig); 
} catch (DatabaseException dbe) {
    // Exception handling goes here
} 


//techtiger added.
//下面代码与上面同等
EnvironmentConfig envConf=new EnvironmentConfig();
envConf.setAllowCreate(true);
envConf.setTxnNoSync(true);
dbEnv=new Environment(new File("/export/dbEnv"),envConf);
数据库的属性
DatabaseConfig.setAllowCreate() 设置允许创建与否,默认值是false,打开不存在的数据库会报错。true的时候,数据库不存在就创建。
DatabaseConfig.setBtreeComparator() 设置B树比较器,用来比较两个记录的key是否相同。 
DatabaseConfig.setDuplicateComparator() 允许key重复的比较器。

DatabaseConfig.setSortedDuplicates()

设置为true,允许key重复,false的话,put一个存在key的记录会产生错误。如果使用了关联了多个索引则一定不能支持重复的记录。
DatabaseConfig.setExclusiveCreate() 如果true,只能创建,如果存在,则打开失败。

DatabaseConfig.setReadOnly()

设置只读。

DatabaseConfig.setTransactional() 设置支持事务

import com.sleepycat.je.DatabaseException;
import com.sleepycat.je.Database;
import com.sleepycat.je.DatabaseConfig;

...
// Environment open omitted for brevity
...

Database myDatabase = null;
try {
    DatabaseConfig dbConfig = new DatabaseConfig();
    dbConfig.setAllowCreate(true);
    dbConfig.setSortedDuplicates(true);
    myDatabase = 
        myDbEnv.openDatabase(null, 
                             "sampleDatabase", 
                             dbConfig); 
} catch (DatabaseException dbe) {
    // Exception handling goes here.
}
评论
发表评论

您还没有登录,请登录后发表评论

Azi
搜索本博客
存档
最新评论