Oracle Berkeley Java Edition是否总是需要一个文件路径来存储数据?我总是必须在文件系统上设置一个环境主页吗?不可能只存储"内存中"?
在Berkeley DB Java Edition中,只能使用"内存"存储。需要在将"je.log.memOnly"参数设置为"true"的情况下创建环境。必须在创建EnvironmentConfig之前设置此参数,因为它是不可变的。
Properties properties = new Properties();
// sets the DB to work "In Memory"
properties.put(EnvironmentConfig.LOG_MEM_ONLY, "true");
// create an enviroment configuration object with the immutable parameter
EnvironmentConfig configuration = new EnvironmentConfig(properties);
File envHome = new File("/db_location");
// create the environment
persistEnvironment = new Environment(envHome, configuration);
必须指定一个环境目录,但它不需要存在。
"je.log.memOnly"参数的描述可以在EnvironmentConfig Javadoc:的"log_MEM_ONLY"下找到
EnvironmentConfig类Javadoc
为什么需要一个用于内存存储的数据库?如果您不需要持久性数据,您可以切换到Java拥有的任何其他数据结构,或者创建自己的类。