1

ユーザーが Facebook を使用してログインする Rails Web アプリ (Devise + Koala) があります。ユーザーは、アプリ内で Facebook の友達とやり取りします。

キャッシュ目的でユーザーの Facebook 友達リストをインポートするには時間がかかります。

ここでのベスト プラクティスは何ですか: フレンドのキャッシュを完全に回避する必要がありますか? デーモンのバックグラウンド スレッドでインポートを行う必要がありますか?

更新用の Facebook リアルタイム API を認識しています。

4

1 に答える 1

0

リストをキャッシュに保存すると、取得するたびに Facebook でユーザーの友達を検索するよりも時間がかかりません。

Postgres には hstore と呼ばれるデータ型があり、データをシリアル化された型ではなくハッシュとして列に格納できます。次の gem でレールに追加できます: https://github.com/softa/activerecord-postgres-hstore

Facebook の友達のキャッシュなどを簡単に保存できます。SQL ステートメントを使用してハッシュを検索できます。

したがって、あなたの場合、Facebookにユーザーの友達接続への変更をサブスクライブし、ユーザーの友達リストキャッシュを更新するアプリのコールバックを指すように指示できます。hstore に対するアトミック操作は不可能であるため、ハッシュ全体を新しいリストに置き換える必要があることに注意してください。幸運を!

于 2012-08-20T06:52:23.623 に答える