限制嵌入式数据库内存使用量&立即写入文件

时间:2016-05-31 17:25:17

标签: spring-boot h2 hsqldb

我想为我的Spring Boot应用程序提供一个基于文件的SQL数据库,它不需要专用的数据库服务器,并且开箱即用,如HSQLDB或H2。 另外,我希望该数据库主要用于文件系统并限制其内存使用量。然而,无论我使用HSQLDB还是H2,更改只会在关机时保存到磁盘并且内存使用率会爆炸。

我希望立即将对数据库的所有更改保存到磁盘,而不是始终将所有更改保存在内存中。
我的Spring Boot数据源URL目前是:jdbc:hsqldb:file:data/xxx

我是否误解了HSQLDB和H2的功能,或者我错过了配置设置?

1 个答案:

答案 0 :(得分:1)

这是可配置的

jdbc:hsqldb:file:filename;hsql.default_table_type=cached;hsqldb.cache_size=500;hsqldb.write_delay=false

这些设置表示基于磁盘的表,500KB用于内存缓存(实际内存使用量可能是数量的两倍),并立即将更改写入磁盘。