2012-07-23 72 views
1

我有一個Rails web應用程序(Devise + Koala),其中用戶使用Facebook登錄。用戶在應用內與他們的Facebook好友進行交互。在Rails應用中緩存Facebook朋友的最佳做法?

爲了緩存目的導入用戶Facebook好友列表非常耗時。

這裏有什麼最佳實踐: 我應該儘量避免朋友緩存嗎? 我應該在守護程序後臺線程中進行導入嗎?

我知道Facebook的實時API更新。

回答

0

將列表存儲在緩存中比每次查找用戶的Facebook朋友時都要花費更少的時間。

Postgres有一個名爲hstore的數據類型,它允許您將數據作爲散列而不是序列化類型存儲在列中。您可以使用此寶石添加到導軌上: https://github.com/softa/activerecord-postgres-hstore

它使存儲像Facebook好友的緩存容易;您可以使用SQL語句搜索散列。

因此,您可以告訴Facebook訂閱對用戶朋友連接的更改,並將其指向您應用中的更新用戶好友列表緩存的回調。請注意,您將需要用新列表替換整個散列,因爲hstore上的原子操作是不可能的。祝你好運!