我已經內置到我們的ORM層對象緩存中。基本上,SQL查詢的散列用作鍵,值包含來自數據庫結果集的對象集合。但是,如果更新結果集中的某個對象,則會產生問題,緩存的結果集不包括更新的對象。沒有寫一致性。我將如何實現寫一致性?APC緩存一致性問題
感謝
更新:目前我有一個處理哪些對象緩存及其密鑰的ObjectWatcher類。對象使用可檢索的關鍵字進行緩存,因此對於Person類,它就是Person.101。 SQL查詢被散列並且鍵映射到Dependency對象,其中包含依賴對象的列表。因此,SELECT * FROM person
可能會從映射到Person.101和Person.102的APC返回一個Dependency對象,從而得到的集合將從此Dependency對象構建。這適用於單個對象的更新。因此,如果我更新Person.101並將新更新對象放入APC覆蓋已過時的對象,那麼在運行較早的查詢時,已更新的對象將被放入該結果集中,這可能不正確。我需要一種方法來清除內存中的對象,但是所有的Dependency對象都持有對已更新對象的引用。在APC中是否有一種方法來搜索包含或包含或過濾鍵和值的鍵值?
對不起,我應該更具體,我已經更新了這個問題。如果我將標籤寫入APC中的密鑰,如何搜索包含標籤的密鑰? – Gcoop