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

Limit embedded DB memory usage & write to file immediately

我想要一个基于文件的 SQL 数据库用于我的 Spring 启动应用程序,它不需要专用的数据库服务器并且开箱即用,比如 HSQL数据库或 H2。 此外,我希望该数据库主要在文件系统上工作并限制其内存使用。然而,无论我使用 HSQLDB 还是 H2,更改仅在关机时保存到磁盘并且内存使用量激增。

我想立即将对数据库的所有更改保存到磁盘,而不是一直将所有更改都保存在内存中。
我的 Spring 启动数据源 url 当前是:jdbc:hsqldb:file:data/xxx

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

这是可配置的

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

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