簡體   English   中英

使用 spring 框架在文件上保存統計數據的最佳方法是什么?

[英]What is the best approach for saving statistical data on a file using spring framework?

使用 spring 框架在文件上保存統計數據的最佳方法是什么? 是否有任何可用的庫可以讀取和更新文件中的數據? 還是應該構建自己的 IO 代碼?

我已經有一個關系數據庫,但不喜歡創建附加表以將計算值保存在具有連接的不同多個表中的方法,也不想通過使用附加數據庫項目增加更多復雜性一項任務,如 MongoDB。

為了理解這份報告的復雜性,想象一下你正在繪制一個圖表,其中包含一整年的每日交易總數和數十億條記錄,其中包含大量額外信息,例如(不同貨幣下不同匯率的總數和平均值) .

所以,我的方法是定期在文件中生成這些數據,所以以后一旦請求我就不需要再次生成它們,只在文件可用時累積新日期

這種方法好嗎? 以有效方式做到這一點的最佳圖書館是什么?

更新

我發現這個答案對於為什么有時人們更喜歡使用平面文件而不是關系文件或非關系文件很有用

從文件或數據庫服務器訪問數據是否更快?

我更喜歡將 MongoDB 用於此類目的,但如果您需要簡單的方法,您可以將數據寫入 csv\\excel 文件。 只使用 I\\O

    List<String> data = new ArrayList<>();
    data.add("head1;head2;head3");
    data.add("a;b;c");
    data.add("e;f;g");
    data.add("9;h;i");

    Files.write(Paths.get("my.csv"), data);

這就是全部)如何將您自己的對象轉換為這樣的字符串'filed1;field2'我想您知道。 您也可以使用 apache-poi csv 庫,但我認為這要快得多。

    Files.write(Paths.get("my.csv"), data, StandardOpenOption.APPEND);

如果要將數據附加到現有文件,StandardOpenOption 中有許多不同的選項。

對於閱讀,您應該使用Files.readAllLines(Paths.get("my.csv")); 它會返回你的字符串列表。 您也可以讀取范圍內的行。

但是如果你需要檢索一列,或者更新兩列 where 等等。 您應該閱讀有關 MongoDB 或其他非關系數據庫的信息。 在這里很難寫關於 MongoDB 的內容,您應該閱讀文檔。

享受)

我找到了一個可以輕松寫入/讀取 CSV 文件並且可以映射到對象以及Jackson 數據格式的庫

找一個彈簧的例子

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM