友情リクエスト用の SQL テーブルがあります。テーブルはサーバー上にあります - クライアントは携帯電話です
Table:
Key = index, int, auto increment
C1 = userA_ID
C2 = userB_ID
(C1, C2 = unique)
C3 = status (pending, accepted, declined, unfriend....)
モバイルでのより良い練習のために、友情リクエストテーブル全体を常にクエリしないように、デバイスのローカル DB にもテーブルを保存します。テーブルがクエリされると、ローカル DB に保存されるため、何も変更されていない場合、デバイスはサーバーからクエリを実行する必要はありません。
だから-アプリの初期化で...(またはデバイスのアプリのメールボックスに入るたびに)デバイスはサーバーに新しいメッセージと友情要求の更新があるかどうかを知るように求めています...メッセージの場合は簡単です-新しいメッセージごとには別の ID を持っており、id > 保存された id のすべてのメッセージをサーバー上で検索します。しかし、フレンドシップ リクエストについては、サーバーの DB の行を更新して、インデックスが同じインデックスのままになるようにします...
私は2つのオプションを考えました:
日付列を追加し、最後のチェックより後に行われた更新をチェックします (最後のチェックはローカル DB に保存されます)。日付ではなくインデックスで比較したい
アプリの初期化時にユーザーのすべてのフレンドシップ リクエスト エントリを取得し、ローカルで比較を行う
推奨事項はありますか?より良いアイデア?