為什麼要使用memcache

2021-07-25 09:38:11 字數 716 閱讀 6199

1.為什麼要使用memcache

由於**的高併發讀寫需求,傳統的關係型資料庫開始出現瓶頸,例如:

1)對資料庫的高併發讀寫:

關係型資料庫本身就是個龐然大物,處理過程非常耗時(如解析sql語句,事務處理等)。如果對關係型資料庫進行高併發讀寫(每秒上萬次的訪問),那麼它是無法承受的。

2)對海量資料的處理:

使用memcache能很好的解決以上問題。

在實際使用中,通常把資料庫查詢的結果儲存到memcache中,下次訪問時直接從memcache中讀取,而不再進行資料庫查詢操作,這樣就在很大程度上減少了資料庫的負擔。

儲存在memcache中的物件實際放置在記憶體中,這也是memcache如此高效的原因。

2memcache如何支援高併發(此處還需深入研究)

memcache使用多路復用i/o模型,如(epoll, select等),傳統i/o中,系統可能會因為某個使用者連線還沒做好i/o準備而一直等待,知道這個連線做好i/o準備。這時如果有其他使用者連線到伺服器,很可能會因為系統阻塞而得不到響應。

而多路復用i/o是一種訊息通知模式,使用者連線做好i/o準備後,系統會通知我們這個連線可以進行i/o操作,這樣就不會阻塞在某個使用者連線。因此,memcache才能支援高併發。

此外,memcache使用了多執行緒機制。可以同時處理多個請求。執行緒數一般設定為cpu核數,這研報告效率最高。

為什麼要使用blog

有哥們問我,你為什麼使用blog?我總結了一下,覺得有如下幾個原因。1對自己的督促 有了blog,就會經常記得寫點東西 就會經常翻翻網上的新文章,了解一下新技術,不至於迷失在忙碌的生活中 如果把自己的所感所想所學寫出了,自己對自己也會有個概念,不至於迷迷糊糊 還有,畢竟是掛在網上的文字,心中難免擔心...

為什麼要使用XML

xml 代表擴充套件標記語言 extensible markup language 是由 world wide web consortium w 3c 的 xml工作組定義的。這個工作組是這樣描述該語言的 擴充套件標記語言 xml 是 sgml 的子集,其目標是允許普通的 sgml 在web 上以目...

為什麼要使用Nginx?

有人說這些基準測試是不準確的,因為在這樣那樣的環境下,做的比較不一致。我傾向同意基準測試只是告訴了我們其中一部分情況,你能做的是消除偏見 有人見過所有人都同意乙個基準測試是公平的嗎?我是沒見過。我們投資的一些公司把web平台切換到nginx後,可以顯著的解決擴充套件問題。nginx明顯有效的實現了今...