的memcached我有一個涉及通過一個Java應用程序記錄每1-2mins高達8000臺設備的狀態,並存儲設備ID,時間,並在表中狀態數據庫的應用程序。用Java和PHP應用
該應用程序的下一個組件是一個PHP界面,顯示這些設備的最新狀態(分配給用戶登錄的設備,最多可以有500個併發用戶,即每個設備可以查看16個設備,但超過50-100個用戶的平均負載)。該應用程序還將打印關於設備一段時間的狀態的報告。
我正在考慮使用Java應用程序中存儲最近的每個設備ID狀態,然後具有PHP應用程序只是訪問分佈式緩存來填充顯示memcached的。之前的狀態報告仍然會從數據庫中刪除,因爲它們很少運行。
在決定將memcached寫入此應用程序時,我的困惑已經來臨,因爲memcached的性能顯然是通過每次緩存更新的多重命中來實現的。這個應用程序可能會有多個更新(不過直接從應用程序推送,而不是數據庫),每個緩存讀取。但會在合理大小(2-3GB)的狀態表上保存讀取。
此外,是否有任何互操作性問題編寫/閱讀從不同的語言API memcached?
由於我正在執行的插入是原子(單行插入)。如何允許髒讀取提升運行innoDB的表的性能?我認爲Innodb支持單行鎖定(可能是誤導),因此這些查詢應該干涉彼此? – 2010-11-02 07:53:18
對於那些認爲是有魅力的人來說,非常適合於平衡數據庫的抄襲。數據庫查詢更好地適用於比可用內存大幾倍的數據集,並且它可以在多個位置的多個應用程序服務器上工作,並且與標準的災難恢復/高可用性解決方案配合使用。 – 2010-11-03 01:11:41