我知道這是一個非常模糊的問題,但我正在尋找一個非常抽象的答案。自從幾個月前我開始使用GAE以來,我一直無法理解memcache,因爲它沒有用處,也沒有任何問題,它確實不那麼重要。但是,似乎memcache被認爲是一個非常有益的功能,Google甚至說道:「高性能可伸縮Web應用程序通常使用分佈式內存數據緩存來代替某些任務的強健持久性存儲。」等等我認爲一定有值得關注的東西。如何在社交網絡環境中使用memcache?
我只是不明白。性能如何?首先,您必須檢查內存緩存中是否有內容,如果不是,請查詢。我一直認爲不必處理這個問題會更快,而且只是查詢,但似乎這可能是一種天真的方法?這個差異有多大?
我想我從來不明白的是memcache是有用的。我可以看到如何在Stackoverflow主頁中發揮作用,其中所有用戶幾乎都看到相同的東西,所以它會很有用,實際上,在這種情況下不會使用memcache。但要說像Facebook這樣的社交網絡。每個用戶看到不同的東西。沒有兩個人看到相同的數據和內容,而且事情發生了很大的變化,memcache可能會不斷需要更新。在這種情況下,memcache可以扮演什麼角色?
此外,在像社交網絡這樣的私人網站中,如果每個用戶都必須在memcache中存儲不同的信息,memcache能夠真正適合多少?我知道GAE沒有提到它的memcache的大小,所以存儲數十萬條記錄是安全的嗎?
「memcache」=內存中緩存。內存訪問的速度可能比查詢數據庫的速度要快,數據庫的數據可能在磁盤上。本質上,緩存將獲取最經常訪問的對象。 –
我建議你在Google上使用這個術語「memcached at facebook」你會發現很多很好的信息。 – sahid