gpt4 book ai didi

java - 'log'/时间序列的高可靠存储

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:26:32 25 4
gpt4 key购买 nike

在我正在处理的应用程序中,我需要一个后写式数据日志。也就是说,应用程序在内存中积累数据,并且可以在内存中保存所有数据。但是,它必须持久存在、容忍合理的错误并允许备份。

显然,我可以写入 SQL 数据库; Derby 让人想到易于嵌入。我不是很喜欢处理 SQL API(JDBC,不管怎么说)而且我不需要任何查询、索引或其他修饰。记录消失,重新启动时,我需要将它们全部读回来。

还有其他合适的选择吗?

最佳答案

尝试使用一个简单的日志文件。

随着数据的到来,存储在内存中并写入(追加)到文件中。 write() 后接 fsync() 将保证(在大多数系统上,请仔细阅读您的系统和文件系统文档)数据被写入持久存储(磁盘)。这些是任何数据库引擎用来在持久存储中获取数据的相同机制。

重新启动时,重新加载日志。有时,修剪日志文件的前面,这样数据使用量就不会无限增长。或者,将日志文件建模为一个循环缓冲区,其大小与内存中的容量相同。

关于java - 'log'/时间序列的高可靠存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5159644/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com