問題(簡而言之)是:基於緩慢的外部API的Symfony 2 UserProvider:如何緩存/加速它?
我們目前的解決方法太慢了。
- Symfony Security組件在每個網頁瀏覽中重新加載用戶。
- 用戶從我們自己的UserProvider加載,訪問緩慢的外部API。
來我們的腦海中的第一個想法是:
我們可以緩存從外部API來在本地數據庫或memcache的信息。
我的問題:
- 是否有任何包在外面,可以幫助我們實現這一目標?
- 我們是否應該處理我們自己的UserProvider中的所有緩存?
- 將需要緩存的用戶放入教義實體並使用鏈式提供者首先從教義中加載他們可能更好嗎?在這種情況下,我們如何處理用戶對象的有限生命週期?
- 如果不緩存任何內容,只需編寫我們的提供程序刷新函數,以便僅在上次重新載入發生時間過長時才重新載入用戶呢?
關於如何有效地做到這一點的任何其他想法?
乾杯,
蒂莫
是你的外部api是一個像oauth還是custom的standadised類? – Udan
嗨烏丹,API是一個自定義的。我們已經有一個客戶端和一個訪問它的用戶提供者,所以這個問題實際上只是讓它去執行。乾杯,Timon – user2811588