如何在 CentOS 8 上安裝和配置 Memcached
Memcached是一個分散式記憶體物件快取系統,它可以透過將頻繁訪問的資料儲存在記憶體中來顯著提高您的網站或應用程式的效能,從而減少所需的資料庫查詢次數。在本文中,我們將指導您完成在CentOS 8上安裝和配置Memcached的過程。
步驟 1:在 CentOS 8 上安裝 Memcached
第一步是在您的 CentOS 8 系統上安裝 Memcached。您可以透過執行以下命令來實現:
sudo dnf install memcached
此命令將下載並在您的系統上安裝 Memcached。
步驟 2:啟動 Memcached 並將其設定為開機啟動
安裝完成後,您需要啟動 Memcached 服務並將其設定為在系統啟動時自動啟動。您可以透過執行以下命令來實現:
sudo systemctl start memcached sudo systemctl enable memcached
第一個命令啟動 Memcached 服務,第二個命令將其設定為在系統啟動時自動啟動。
步驟 3:配置 Memcached
預設情況下,Memcached 監聽埠 11211 並使用 UDP 協議。但是,您可以配置 Memcached 以監聽不同的埠並使用 TCP 協議。為此,您需要修改 Memcached 配置檔案。
sudo nano /etc/sysconfig/memcached
這將在 Nano 文字編輯器中開啟 Memcached 配置檔案。您可以按如下方式修改配置檔案:
PORT="11211" USER="memcached" MAXCONN="1024" CACHESIZE="64" OPTIONS="-l 127.0.0.1"
埠 (PORT) - 指定 Memcached 監聽的埠。您可以將其更改為您想要的任何埠。
使用者 (USER) - 指定 Memcached 以其執行的使用者。
最大連線數 (MAXCONN) - 指定 Memcached 可以處理的最大併發連線數。
快取大小 (CACHESIZE) - 指定 Memcached 可以用於快取資料的記憶體量。
選項 (OPTIONS) - 指定 Memcached 的附加選項。在此示例中,我們將其設定為僅監聽本地主機。
儲存更改並退出 Nano 文字編輯器。
步驟 4:測試 Memcached
安裝和配置 Memcached 後,您可以對其進行測試以確保其正常工作。您可以使用 telnet 命令連線到 Memcached 並設定和檢索值。
telnet 127.0.0.1 11211 set mykey 0 60 5 hello get mykey
這將連線到埠 11211 上的 Memcached,並將 mykey 鍵的值設定為 hello,TTL 為 60 秒。然後,它檢索 mykey 鍵的值。
如果一切正常,您應該看到以下輸出:
STORED VALUE mykey 0 5 hello END
這意味著 Memcached 能夠儲存和檢索 mykey 鍵的值。
步驟 5:安裝 PHP 的 Memcached 擴充套件
如果您正在為您的網站或應用程式使用 PHP,您可以安裝 PHP 的 Memcached 擴充套件,以便輕鬆地從 PHP 程式碼與 Memcached 進行互動。
您可以透過執行以下命令來實現:
sudo dnf install php-memcached
這將下載並安裝 PHP 的 Memcached 擴充套件。
步驟 6:配置 PHP 的 Memcached 擴充套件
安裝 PHP 的 Memcached 擴充套件後,您需要將其配置為連線到 Memcached。
您可以透過修改位於 PHP 配置目錄中的 memcached.ini 檔案來實現。您可以透過執行以下命令找到該目錄:
php --ini
這將顯示 PHP 配置目錄的位置。導航到該目錄並編輯 memcached.ini 檔案:
sudo nano /etc/php.d/40-memcached.ini
在 memcached.ini 檔案中,您需要新增以下行:
extension=memcached.so
此行啟用 PHP 的 Memcached 擴充套件。
儲存更改並退出 Nano 文字編輯器。
步驟 7:測試 PHP 的 Memcached 擴充套件
安裝和配置 PHP 的 Memcached 擴充套件後,您可以對其進行測試以確保其正常工作。
您可以透過使用以下程式碼建立一個 PHP 檔案來實現:
<?php
$memcached = new Memcached();
$memcached->addServer('localhost', 11211);
$memcached->set('mykey', 'hello', 60);
echo $memcached->get('mykey');
?>
此程式碼建立一個 Memcached 類的新的例項,連線到 localhost 埠 11211 上的 Memcached,將 mykey 鍵的值設定為 hello,TTL 為 60 秒,並檢索 mykey 鍵的值。
如果一切正常,執行 PHP 檔案時,您應該看到以下輸出:
hello
這意味著 PHP 的 Memcached 擴充套件能夠儲存和檢索 mykey 鍵的值。
將 Memcached 與負載均衡器一起使用
如果您有多個 Web 伺服器為您的網站或應用程式提供服務,您可以使用負載均衡器將傳入請求分配到這些伺服器。透過將 Memcached 與負載均衡器一起使用,您可以確保所有伺服器都可以訪問相同快取的資料。
為此,您需要配置 Memcached 以使用一致的雜湊演算法。這將確保相同的鍵始終儲存在並從相同的 Memcached 伺服器檢索。您可以透過修改 Memcached 配置檔案中的 OPTIONS 行來實現:
OPTIONS="-l 127.0.0.1 -o hash_algorithm=jenkins -o hash_mem_multiplier=1.1"
在此示例中,我們使用 jenkins 雜湊演算法並將 hash_mem_multiplier 選項設定為 1.1,這會增加可用於快取資料的記憶體量。
監控 Memcached
為了確保 Memcached 執行平穩高效,您應該定期對其進行監控。您可以使用 memcached-tool 或 telnet 等工具檢查 Memcached 的狀態並檢視統計資訊,例如快取中的專案數量和快取命中率。
例如,要檢查 Memcached 的狀態,您可以執行以下命令:
sudo memcached-tool 127.0.0.1:11211 stats
這將顯示諸如連線數、快取命中率和 Memcached 的記憶體使用情況等統計資訊。
將 Memcached 與內容分發網路 (CDN) 一起使用
如果您有一個面向全球使用者的網站或應用程式,您可以使用內容分發網路 (CDN) 來提高網站的效能和可靠性。CDN 將您的內容快取在位於世界各地的伺服器上,從而減少延遲並減輕 Web 伺服器的負載。
您可以透過配置 CDN 以在 Memcached 中快取資料來將 Memcached 與 CDN 一起使用。這將允許您的 CDN 從 Memcached 快速檢索快取的資料,從而減輕 Web 伺服器的負載。
將 Memcached 用於資料庫快取
除了快取 Web 應用程式的資料外,您還可以使用 Memcached 快取資料庫查詢。透過在 Memcached 中快取常用的查詢,您可以減少資料庫伺服器的負載並提高應用程式的效能。
為此,您需要修改應用程式程式碼,以便在進行資料庫查詢之前檢查資料是否已快取在 Memcached 中。如果資料已快取,您的應用程式可以從 Memcached 中檢索它,而無需發出新的查詢。
使用 Memcached 和 TTL 策略
使用 Memcached 時,制定快取資料的生存時間 (TTL) 策略非常重要。TTL 指定資料在被逐出快取之前應保留多長時間。
如果將 TTL 設定得太低,則資料可能會在可以重用之前被逐出快取,這可能會導致應用程式速度變慢。如果將 TTL 設定得太高,則資料可能會變得陳舊和過時,這也會導致問題。
設定 TTL 的一個好策略是根據資料訪問的頻率來確定。對於頻繁訪問的資料,您可以設定較短的 TTL 以確保資料始終是最新的。對於不太頻繁訪問的資料,您可以設定較長的 TTL 以減少快取的負載。
結論
在本文中,我們指導您完成了在 CentOS 8 上安裝和配置 Memcached 的過程。我們還向您展示瞭如何安裝 PHP 的 Memcached 擴充套件以及如何將其配置為連線到 Memcached。透過使用 Memcached,您可以透過減少所需的資料庫查詢次數來顯著提高您的網站或應用程式的效能。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP