我正在使用clojure编写一个需要保留其数据的应用程序,但是如果丢失了一些数据,那么这不是灾难性的。我想知道每次我想访问数据时是否应该使用ClojureQL,或者我应该使用STM + ClojureQL,只是在更新/写入时异步保存数据。有谁知道每种方法的任何优点/缺点。有没有人尝试过异步持久化方法?
答案 0 :(得分:6)
这是改善写入延迟的经典方法,通常称为后写。将更新捆绑在一起并在单独的异步线程中执行它们有几个好处:
后写也有很多缺点:
这些当然与ClojureQL或STM无关。 :)