我正在构建一个Web应用程序(在Django中,虽然这不是特定于Django的问题)。我将拥有一些用户,他们每个人都有一个帐户余额,每次与我存款(通过PayPal)时都会增加,并且每次使用我的应用程序API时都会减少。
我正在尝试确定哪种方法更合适:
那么,哪种方式最好还是有另一种方法呢?
答案 0 :(得分:0)
我的观点是第一种选择比第二种选择更不容易出错。当您开始依赖缓存来获得非常重要的值时,您必须处理缓存同步。显然,每次用户平衡更改时,您都需要使缓存无效并确保任何读取请求都是100%准确的。如果你确实去了缓存路线,你只需要确保额外的层得到很好的协调。
我建议您存储交易历史记录和余额总额。进行交易的行为需要是原子的,以便在其他任何东西都可以读取之前,进行交易历史记录并执行余额总额的更新。然后,您可以选择将余额与历史记录进行对帐,或直接从历史记录中读取和添加。