HestiaCP預設安裝中並沒有Redis 這個項目,一般透過Nginx或Apache的快取機制就足夠了。
但今天遇到的是高流量或電商類型的網站就會頻繁對資料庫進行存取,這會造成網站的速度變慢。
這時採用存放在記憶體的NoSQL 資料庫Redis,就可以為網站常用的資料進行快取減緩資料庫讀取壓力。
首先進行更新
sudo apt update
安裝redis並啟動
sudo apt install redis-server
sudo systemctl enable redis-server
確認redis是否正在監聽,如出現下圖狀況代表正常
netstat -nltp | grep redis
接著設定 redis
nano /etc/redis/redis.conf
設定記憶體上限和記憶體耗盡處理方式
因為目前伺服器總記憶體只有2GB,這邊先設定256MB
maxmemory 256mb
maxmemory-policy allkeys-lru
maxmemory-policy 可用方式如下
- noeviction:達到記憶體限制時不會儲存新值。當資料庫使用複製時,這適用於主資料庫
- allkeys-lru:保留最近使用的金鑰;刪除最近最少使用 (LRU) 的鍵
- allkeys-lfu:保留常用的按鍵;刪除最不常用 (LFU) 的按鍵
- volatile-lru:刪除最近最少使用的鍵,並將
expire
欄位設為true
。 - volatile-lfu
expire
:刪除欄位設定為 的最不常用的鍵true
。 - allkeys-random:隨機刪除鍵以為新增的資料騰出空間。
- volatile-random
expire
:隨機刪除欄位設定為 的鍵true
。 - volatile-ttl
expire
:刪除欄位設定為true
且最短剩餘生存時間 (TTL) 值的鍵。
設定好之後,重啟redis
sudo systemctl restart redis-server
安裝PHP擴充redis 模組
sudo apt install php-redis
目前使用的PHP 是8.2版,啟用PHP redis 模組
sudo phpenmod -v 8.2 -s ALL redis
測試redis 模組是否連線成功
redis-cli
安裝並啟用 WordPress外掛 Redis Object Cache就完成了