2010-06-03 140 views
1

使用Symfony 1.4.x(和Propel)時,我得到了一項任務,要求我與多個外部系統共享特定的用戶信息。這當前存儲爲一個會話(在內存中)屬性,但我需要將其存入數據庫,以便我可以創建一個將向授權的消費者提供該信息的API。將選定的用戶信息存儲在數據庫中

我寧願不檢修系統以將所有會話數據存儲在數據庫中(除非它是微不足道的並且可以處理命名空間),但我找不到任何關於myUser類的建議方式的信息以將數據寫入數據庫。是否有可能這樣做,因爲課堂本身沒有模型(我知道)?有沒有建議的解決方案或最佳做法做到這一點?

謝謝。

UPDATE

如果我是這一切的方式歸結爲它的最基本的要素,我想關鍵的問題是:什麼是「最好」的方式,從讀/寫,從一個數據庫myUser班?或者,還有另外一條建議達到相同最終結果的路徑嗎?

回答

0

由於沒有從myUser類訪問數據庫的好方法,我選擇了一條稍微不同的路徑。我在兩個應用程序均可訪問的位置安裝了memcached,並且擴展了PHP的Memcached類以應用一些自定義。應用程序現在可以通過將特殊格式的鍵寫入memcached實例來共享信息。

我選擇了而不是來徹底檢查我現有的緩存存儲機制(爲什麼會讓蘋果推車變得不安全?),並且有選擇地讀取/寫入memcached以獲取真正需要共享的信息。

0

將存儲json_encode ING或serialize ING的

$myUserInstance->getAttributeHolder()->getAll() 

的結果做這項工作?

+0

它可能。對我來說,更大的問題實際上是從'myUser'類訪問數據庫的「最佳」方式是什麼? – 2010-06-04 12:37:11

相關問題