如何在Ubuntu上安裝和配置Memcached?
介紹
Memcached是一個免費的、開源的、高效能的分散式記憶體快取系統。它通常用於透過將資料和物件快取到記憶體中來加快動態 Web 應用程式的速度,從而減少應用程式必須查詢資料庫或其他資料儲存的次數。Memcached 也常用於微服務架構中,用作不同服務之間的共享快取。
在本文中,我們將討論如何在 Ubuntu 上安裝和配置 Memcached。
步驟 1:安裝 Memcached
第一步是在您的 Ubuntu 系統上安裝 Memcached 包。您可以使用以下命令安裝它:
sudo apt-get update sudo apt-get install memcached
安裝完成後,您可以使用以下命令啟動 Memcached:
sudo systemctl start memcached
步驟 2:配置 Memcached
預設情況下,Memcached 監聽本地主機 (127.0.0.1) 介面並使用埠 11211。這意味著 Memcached 只能從執行它的同一臺機器訪問。如果您想從其他機器訪問 Memcached,則需要更改配置檔案。
為此,請使用您喜歡的文字編輯器開啟 Memcached 配置檔案。配置檔案位於 /etc/memcached.conf。
sudo nano /etc/memcached.conf
在此檔案中,您可以更改以下設定:
-l - 這設定 Memcached 監聽的 IP 地址。預設情況下,它設定為 127.0.0.1,這意味著 Memcached 只監聽本地主機介面。如果您想監聽所有可用的網路介面,可以將其設定為 0.0.0.0。
-p - 這設定 Memcached 監聽的埠。預設情況下,它設定為 11211。
-m - 這設定 Memcached 允許使用的記憶體量。預設情況下,它設定為 64 兆位元組。您可以根據需要增加此值。
更改配置檔案後,儲存並退出文字編輯器。
步驟 3:測試 Memcached
要測試 Memcached 是否正常工作,您可以使用 telnet 命令連線到 Memcached 並執行一些基本命令。
telnet localhost 11211
這將開啟到 Memcached 的 telnet 會話。然後,您可以輸入以下命令:
set mykey 0 60 5 hello
這將在 Memcached 中使用鍵“mykey”儲存字串“hello”,持續時間為 60 秒。然後,您可以透過執行以下命令來檢索鍵的值:
get mykey
這應該返回值“hello”。如果返回,則 Memcached 正常工作。
步驟 4:為您的應用程式配置 Memcached
確認 Memcached 正常工作後,您可以配置您的應用程式以使用 Memcached 作為快取機制。執行此操作的確切步驟取決於您使用的程式語言和框架。
以下是如何使用 PHP 使用 Memcached 的示例:
$memcached = new Memcached(); $memcached->addServer('localhost', 11211); $key = 'mykey'; $value = $memcached->get($key); if (!$value) { $value = 'hello'; $memcached->set($key, $value, 60); } echo $value;
在此示例中,我們建立 Memcached 類的新例項,並向其中新增本地主機伺服器。然後,我們嘗試從 Memcached 檢索鍵“my key”的值。如果值不存在,我們將其設定為“hello”並將其與 60 秒的 TTL 儲存在 Memcached 中。最後,我們打印出該值。
以下是一些使用 Memcached 的其他技巧和最佳實踐:
使用一致的鍵命名約定 - 使用 Memcached 快取資料時,務必為您的鍵使用一致的命名約定。這將使以後更容易檢索資料。一種常見的約定是在鍵前加上應用程式或服務的名稱。
監控 Memcached 效能 - Memcached 具有內建的效能指標,可以使用 memcached-tool 或 telnet 等工具進行監控。監控這些指標可以幫助您識別潛在的效能瓶頸並調整 Memcached 配置以獲得最佳效能。
使用客戶端庫 - 雖然可以使用原始 telnet 命令與 Memcached 互動,但使用程式語言或框架的客戶端庫更容易且更高效。大多數客戶端庫都提供面向物件的介面,簡化了從 Memcached 儲存和檢索資料的過程。
將 Memcached 與備份資料儲存一起使用 - Memcached 是記憶體快取,這意味著伺服器重啟或崩潰時資料會丟失。為防止資料丟失,最好將 Memcached 與備份資料儲存(例如資料庫或檔案系統)結合使用。
將 Memcached 與負載均衡器一起使用 - 為了確保 Memcached 高可用性和可擴充套件性,最好將其與負載均衡器一起使用。這將跨多個 Memcached 伺服器分配負載,防止任何一臺伺服器成為瓶頸。
將 Memcached 與一致的雜湊演算法一起使用 - 將 Memcached 與多臺伺服器一起使用時,務必使用一致的雜湊演算法來跨伺服器分配資料。一致的雜湊確保每個鍵始終對映到同一臺伺服器,即使池中的伺服器數量發生變化。
設定適當的 TTL 值 - 將資料儲存在 Memcached 中時,務必為每個鍵設定適當的 TTL(生存時間)值。TTL 值決定鍵在 Memcached 中儲存多長時間,之後才會被認為已過期並被刪除。設定適當的 TTL 值可以幫助防止向用戶提供陳舊的資料。
將 Memcached 用於讀密集型工作負載 - Memcached 在用於讀密集型工作負載(例如服務大量讀取請求的 Web 應用程式)時最為有效。對於寫密集型工作負載,使用資料庫或其他資料儲存可能更有效。
水平擴充套件 Memcached - Memcached 旨在水平擴充套件,這意味著您可以隨著應用程式的增長向 Memcached 叢集新增更多伺服器。水平擴充套件允許您在無需升級單個伺服器的情況下增加 Memcached 叢集的容量。
將 Memcached 與其他快取機制結合使用 - 雖然 Memcached 是一種強大的快取機制,但它可能並不適用於所有用例。例如,如果您需要快取複雜的資料結構或維護跨多個節點的一致性,您可能需要使用不同的快取機制,例如 Redis 或資料庫快取。透過將 Memcached 與其他快取機制結合使用,您可以同時獲得高效能快取(用於簡單資料型別)和更高階的快取(用於複雜資料型別)的優勢。
透過遵循這些額外的技巧和最佳實踐,您可以進一步最佳化 Memcached 的使用,並確保它滿足應用程式的效能和可擴充套件性需求。
結論
在本文中,我們討論瞭如何在 Ubuntu 上安裝和配置 Memcached。Memcached 是一種強大的工具,可用於透過將資料和物件快取到記憶體中來加快動態 Web 應用程式的速度。它易於安裝和配置,可以為您的應用程式提供顯著的效能提升。只需付出少量努力,您就可以立即在您的應用程式中開始使用 Memcached。