我目前正在開發應用程序的基礎,並尋找優化性能的方法。我的設置基於the CakePHP framework,但我相信我的問題與任何技術棧有關,因爲它涉及到數據緩存。用於緩存相關數據的模式
我們來看一個典型的作者後關係,它由我的db中的2個表格表示。當我查詢特定博客文章的數據庫時,同時CakePHP中的內置ORM功能還獲取帖子的作者,帖子的評論等。所有這些都作爲一個大屁股嵌套數組返回,我使用該博客文章的唯一標識存儲在緩存中。
在更新博客文章時,它是通過子播放銷燬帖子的緩存,並使用下一個請求重新生成緩存。
但是,如果不是主實體(本例中爲博客文章)得到更新,而是更新了一些相關數據,會發生什麼?例如,評論可以被刪除,或作者可以更新他的頭像。是否有任何方法(模式)可以考慮用於跟蹤相關數據的更新,並相應地將更新應用於緩存?
我很好奇聽到您是否遇到過類似的挑戰,以及您如何設法克服障礙。隨意提供一個抽象的視角,如果你在你的末端使用另一個堆棧。無論如何,您的意見非常感謝,非常感謝!
我擔心這是唯一的出路,但是要感謝您確認,因爲您設法使它聽起來更「可行」:-) 所以缺點是每個視圖有很多自定義代碼,但是好處在於,這仍然可以輕鬆切換緩存後端。 Thx也爲鎖定功能提供了額外的見解,這將用於v2 :-) – Shahways 2010-09-30 18:22:02
對於更復雜的概念性概述和一些實際問題,我發現這個閱讀很有趣http://highscalability.com/blog/2010/9/ 30 /實和 - 位點的故障引起的逐復弱interact.html – Unreason 2010-09-30 21:39:27