REST API 経由で django サーバーと通信する iOS アプリがあります。ほとんどのデータは、単一のフラット ディクショナリにレンダリングされるいくつかの関連モデルを含むかなり大きな Item オブジェクトで構成されており、このデータはめったに変更されません。
これを照会することは Postgres では問題にならないことがわかりましたが、JSON 応答の生成にはかなりの時間がかかります。一方、アイテムのコレクションはユーザーごとに異なります。
Item オブジェクトの辞書を作成し、それを JSON 文字列として redis に保存するだけのレンダリング システムについて考えました。このようにして、redis から直接 API を提供できます (例: HMGET(ユーザー ライブラリ内の項目の ID)。これは高速です。また、「レンダリングされたインスタンス」を比較的簡単に再生成できます。基本的には、ほんの数個のpost_save
シグナルです。
このデザインがどれだけ優れているか気になりますが、大きな欠陥はありますか? たぶん、タスクのためのより良い方法がありますか?