2013-03-22 75 views
-1

我剛剛在MySQL服務器上安裝了yum install memcached。但後來作爲service memcached statusRunning..,做什麼更多,因爲我不認爲沒有什麼發生在性能。我想我仍然需要配置MySQL來與Memcached配合使用。MySQL服務器上的Memcached?

  • MySQL需要什麼配置才能與Memcached交流? (怎麼辦?)
  • 甚至還需要從Web Server端配置嗎?

請幫我卡住了。

+0

「什麼都沒有發生」......你預計會發生什麼? – Hamish 2013-03-22 03:10:23

+0

那麼memcached是什麼? – 2013-03-22 03:10:35

+1

這是一個內存中緩存。除非您的軟件配置爲使用它,否則它不會執行任何操作。 – duskwuff 2013-03-22 03:11:29

回答

8

Memcached是一個MySQL的性能插件 - 這是常用的一種寫不過還是回寫caching系統 - 通常,你需要存儲常用的鍵/值對沒有擊中你的數據庫,除非他們改變 - 從而減少數據庫的負載。

訪問Memcached的網站提供有用的信息:

免費&開源的,高性能的,分佈式的內存對象緩存系統,通用的性質,但打算用於通過減輕數據庫加速動態Web應用程序加載。

Memcached是內存中的鍵值存儲,用於從數據庫調用,API調用或頁面呈現結果中爲任意數據(字符串,對象)創建小塊。

超簡單的僞代碼示例:

Read: 

if data in memcache { 
    // Retrieve and use 
} else { 
    // Pull from DB, use and write to memcache 
} 

或者,在這裏,Memcached的描述緩存結果一個簡單的例子:

Cache Results: 

function get_foo(foo_id) 
    foo = memcached_get("foo:" . foo_id) 
    return foo if defined foo 

    foo = fetch_foo_from_database(foo_id) 
    memcached_set("foo:" . foo_id, foo) 
    return foo 
end 

,除非你寫它沒有做任何事情你的軟件/代碼庫來使用它(通常,你寫你的數據庫函數來檢查緩存之前打你的數據庫)。有必要閱讀Memcached Story of caching以瞭解基本的用例場景。

從歷史上看,有些人已經將其與使用MySQL中的HEAP或內存表進行比較,但它不相同,可以分佈在羣集中的許多計算機上和/或通過網絡提供可用/未分配內存的網絡中 - 即使在一臺服務器上。

如果你想了解它的價值,那麼看看沒有比使用它的公司列表更多。

2

您是否在尋找this

Mysql5.6現在支持memcache集成版本插件。 如果在這種情況下,您不需要安裝另一個memcached服務器。 只需安裝mysql 5.6。和memcached插件。

然後..你可以在那個頁面看到... 你可以發送memacached命令到memcached服務器和memcached插件自動寫入你想要的備份表。

我認爲應該有更多改進的一件事是表字段類型。 只能使用varchar/text/blob類型(要與memcached服務器交互的備份表字段...)。

PS)

聽說memcached的插件DML吞吐量是驚人的。 但是當我嘗試時,我只有?得到了30%的改善......