私は、ユーザーが(リアルマネーを使用して)クレジットを購入し、それらを物事に使うことができるWebアプリケーションを作成しています。
ユーザーがクレジットを購入または使用するたびに履歴を保持する必要があります。
ユーザーの現在のクレジット残高を知る必要があることがよくあります。
私は通常、同じデータを2回保存するのは悪い習慣です。つまり、クレジット残高の増減の履歴があるため、残高自体を別のフィールドとして保存するべきではありません。
ただし、ユーザーが新しいページ(現在の残高を表示する)を開くたびにこの残高を計算するのはやり過ぎのようです。一方、システムが毎回処理しなければならないのを防ぐために、データベースまたはWebサーバーのメモリに保存するのは間違っているようです。
誰かがこれを経験したり、この状況で推奨されるベストプラクティスを知っていますか?