Ubuntu如何架設Redis Server並且與PHP一同使用?
發表於 : 2017-02-22 17:03:06
https://magiclen.org/ubuntu-redis-php/
Redis是一個開源的NoSQL資料庫,以一個key對應一個value的方式並配合記憶體(RAM)來儲存資料,效能要比關聯式資料庫還要好很多,可以在許多程式語言上使用。Redis的value除了字串(string)型態之外,另外還有幾種比較特殊的結構,包括set、zset、list和hash,並提供了多種方式來操作這些欄位。
架設Redis Server
Redis是開放原始碼的軟體,因此可以直接到Redis的官方網站找到原始碼自行編譯安裝。
http://redis.io/
如果是基於Ubuntu 14.04之後的Linux發行版,可以直接使用apt-get來下載安裝Redis Server,指令如下:
sudo apt-get install redis-server
Ubuntu如何架設Redis Server並且與PHP一同使用?
安裝完後,Redis Server Service應該就已經被自動開啟。此時可以輸入以下指令來連入本機的Redis Server:
redis-cli
如果連接成功,應該會看到以下畫面:
Ubuntu如何架設Redis Server並且與PHP一同使用?
如果連接不成功,會出現如下圖無法連線的訊息,這時請檢查Redis的設定是否有誤再重新啟動Redis Server。
Ubuntu如何架設Redis Server並且與PHP一同使用?
如果要手動啟動、重啟、關閉Redis Server,可以使用以下幾個指令來完成:
sudo service redis-server start
sudo service redis-server restart
sudo service redis-server stop
Ubuntu如何架設Redis Server並且與PHP一同使用?
Redis Server的設定檔放在「/etc/redis/redis.conf」中,可以使用如以下指令以文字編輯器開啟並編輯。
sudo pluma /etc/redis/redis.conf
Ubuntu如何架設Redis Server並且與PHP一同使用?
Redis Server的設定檔比較需要注意修改的地方有以下三處:
port:連結到Redis Server所通過的連接埠。預設為6379,如果有跟其他服務衝突到,應該要修改掉。
bind:連結到Redis Server所使用的網路介面。預設為127.0.0.1,也就是內部迴圈(lo),僅本機可以直接連接。
requirepass:連結到此Redis Server所需的密碼。
Ubuntu如何架設Redis Server並且與PHP一同使用?
Ubuntu如何架設Redis Server並且與PHP一同使用?
設定檔修改後記得重新啟動Redis Server來套用新設定。
redis-cli若能連接Redis Server,可以下達簡單的存取指令測試資料庫是否正常運作。
set foo bar
get foo
1
2
set foo bar
get foo
Ubuntu如何架設Redis Server並且與PHP一同使用?
在PHP中連接Redis Server
Ubuntu架設PHP網頁伺服器的方式,可以參考這篇文章。
Redis可以在PHP裡使用,但需要另外安裝套件才可以。不過同樣地,如果是基於Ubuntu 14.04之後的Linux發行版,可以直接使用apt-get來下載安裝PHP的Redis套件,指令如下:
sudo apt-get install php5-redis
Ubuntu如何架設Redis Server並且與PHP一同使用?
安裝後記得重啟網頁伺服器。
Ubuntu如何架設Redis Server並且與PHP一同使用?
如果是其它Linux發行版,可以用以下網址取得phpredis的原始碼,自行編譯安裝。
https://github.com/phpredis/phpredis
上面網址也有詳細的phpredis用法說明,建議第一次使用的人可以看一下。
以下是一個簡單的PHP程式,用來測試PHP與Redis Server有沒有連結成功。
PHP
<?php
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$redis->set("foo", "bar");
echo $redis->get("foo");
?>
1
2
3
4
5
6
<?php
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$redis->set("foo", "bar");
echo $redis->get("foo");
?>
Ubuntu如何架設Redis Server並且與PHP一同使用?
以上程式執行後應該要在網頁上顯示「bar」。
安裝Redis的圖形管理後台-phpRedisAdmin
phpRedisAdmin和phpMyAdmin都是用來實現多使用者登入管理資料庫的PHP開源程式,phpRedisAdmin自然是用來管理Redis資料庫的,其原始碼可用以下連結取得:
https://github.com/ErikDubbelboer/phpRedisAdmin
如果想用指令來安裝phpRedisAdmin,可以透過Composer這個PHP開發工具。首先使用以下指令取得Composer:
curl -s http://getcomposer.org/installer | php
Ubuntu如何架設Redis Server並且與PHP一同使用?
接著使用以下指令取得phpRedisAdmin的專案,並將目的地放置在網頁伺服器目錄底下的空目錄中,如:
php composer.phar create-project -s dev erik-dubbelboer/php-redis-admin /var/www/html/redis
以上指令粗體部份是phpRedisAdmin要放置的目錄路徑。
Ubuntu如何架設Redis Server並且與PHP一同使用?
取得phpRedisAdmin之後,便可至phpRedisAdmin目錄中找到「includes/config.simple.inc.php」這個檔案,將其複製一份並更名為「config.inc.php」,同樣放置於「includes」目錄下。這個「config.inc.php」就是phpRedisAdmin的設定檔。
Ubuntu如何架設Redis Server並且與PHP一同使用?
Ubuntu如何架設Redis Server並且與PHP一同使用?
Ubuntu如何架設Redis Server並且與PHP一同使用?
phpRedisAdmin的設定檔提供了幾個項目,以陣列的型態存放在「config」這個PHP變數中,陣列的key值代表意義如下:
servers:要連線到的Redis Server清單,已有預設本機的Redis Server。
seperator:階層化Redis Key值的分隔字元,預設已冒號「:」作分隔。如「foo:inner_foo」這個key值在Redis中只是單純的一個key,但是在phpRedisAdmin顯示時,就好像是「foo」這個key底下有「inner_foo」這個key。
login:可以登入phpRedisAdmin的使用者帳密。如果沒設定,不用登入即可進入phpRedisAdmin。
使用網頁瀏覽器即可開啟phpRedisAdmin。phpRedisAdmin的圖形介面看起來十分精簡,雖不是說很好用,但有總比沒有好!
Redis是一個開源的NoSQL資料庫,以一個key對應一個value的方式並配合記憶體(RAM)來儲存資料,效能要比關聯式資料庫還要好很多,可以在許多程式語言上使用。Redis的value除了字串(string)型態之外,另外還有幾種比較特殊的結構,包括set、zset、list和hash,並提供了多種方式來操作這些欄位。
架設Redis Server
Redis是開放原始碼的軟體,因此可以直接到Redis的官方網站找到原始碼自行編譯安裝。
http://redis.io/
如果是基於Ubuntu 14.04之後的Linux發行版,可以直接使用apt-get來下載安裝Redis Server,指令如下:
sudo apt-get install redis-server
Ubuntu如何架設Redis Server並且與PHP一同使用?
安裝完後,Redis Server Service應該就已經被自動開啟。此時可以輸入以下指令來連入本機的Redis Server:
redis-cli
如果連接成功,應該會看到以下畫面:
Ubuntu如何架設Redis Server並且與PHP一同使用?
如果連接不成功,會出現如下圖無法連線的訊息,這時請檢查Redis的設定是否有誤再重新啟動Redis Server。
Ubuntu如何架設Redis Server並且與PHP一同使用?
如果要手動啟動、重啟、關閉Redis Server,可以使用以下幾個指令來完成:
sudo service redis-server start
sudo service redis-server restart
sudo service redis-server stop
Ubuntu如何架設Redis Server並且與PHP一同使用?
Redis Server的設定檔放在「/etc/redis/redis.conf」中,可以使用如以下指令以文字編輯器開啟並編輯。
sudo pluma /etc/redis/redis.conf
Ubuntu如何架設Redis Server並且與PHP一同使用?
Redis Server的設定檔比較需要注意修改的地方有以下三處:
port:連結到Redis Server所通過的連接埠。預設為6379,如果有跟其他服務衝突到,應該要修改掉。
bind:連結到Redis Server所使用的網路介面。預設為127.0.0.1,也就是內部迴圈(lo),僅本機可以直接連接。
requirepass:連結到此Redis Server所需的密碼。
Ubuntu如何架設Redis Server並且與PHP一同使用?
Ubuntu如何架設Redis Server並且與PHP一同使用?
設定檔修改後記得重新啟動Redis Server來套用新設定。
redis-cli若能連接Redis Server,可以下達簡單的存取指令測試資料庫是否正常運作。
set foo bar
get foo
1
2
set foo bar
get foo
Ubuntu如何架設Redis Server並且與PHP一同使用?
在PHP中連接Redis Server
Ubuntu架設PHP網頁伺服器的方式,可以參考這篇文章。
Redis可以在PHP裡使用,但需要另外安裝套件才可以。不過同樣地,如果是基於Ubuntu 14.04之後的Linux發行版,可以直接使用apt-get來下載安裝PHP的Redis套件,指令如下:
sudo apt-get install php5-redis
Ubuntu如何架設Redis Server並且與PHP一同使用?
安裝後記得重啟網頁伺服器。
Ubuntu如何架設Redis Server並且與PHP一同使用?
如果是其它Linux發行版,可以用以下網址取得phpredis的原始碼,自行編譯安裝。
https://github.com/phpredis/phpredis
上面網址也有詳細的phpredis用法說明,建議第一次使用的人可以看一下。
以下是一個簡單的PHP程式,用來測試PHP與Redis Server有沒有連結成功。
PHP
<?php
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$redis->set("foo", "bar");
echo $redis->get("foo");
?>
1
2
3
4
5
6
<?php
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$redis->set("foo", "bar");
echo $redis->get("foo");
?>
Ubuntu如何架設Redis Server並且與PHP一同使用?
以上程式執行後應該要在網頁上顯示「bar」。
安裝Redis的圖形管理後台-phpRedisAdmin
phpRedisAdmin和phpMyAdmin都是用來實現多使用者登入管理資料庫的PHP開源程式,phpRedisAdmin自然是用來管理Redis資料庫的,其原始碼可用以下連結取得:
https://github.com/ErikDubbelboer/phpRedisAdmin
如果想用指令來安裝phpRedisAdmin,可以透過Composer這個PHP開發工具。首先使用以下指令取得Composer:
curl -s http://getcomposer.org/installer | php
Ubuntu如何架設Redis Server並且與PHP一同使用?
接著使用以下指令取得phpRedisAdmin的專案,並將目的地放置在網頁伺服器目錄底下的空目錄中,如:
php composer.phar create-project -s dev erik-dubbelboer/php-redis-admin /var/www/html/redis
以上指令粗體部份是phpRedisAdmin要放置的目錄路徑。
Ubuntu如何架設Redis Server並且與PHP一同使用?
取得phpRedisAdmin之後,便可至phpRedisAdmin目錄中找到「includes/config.simple.inc.php」這個檔案,將其複製一份並更名為「config.inc.php」,同樣放置於「includes」目錄下。這個「config.inc.php」就是phpRedisAdmin的設定檔。
Ubuntu如何架設Redis Server並且與PHP一同使用?
Ubuntu如何架設Redis Server並且與PHP一同使用?
Ubuntu如何架設Redis Server並且與PHP一同使用?
phpRedisAdmin的設定檔提供了幾個項目,以陣列的型態存放在「config」這個PHP變數中,陣列的key值代表意義如下:
servers:要連線到的Redis Server清單,已有預設本機的Redis Server。
seperator:階層化Redis Key值的分隔字元,預設已冒號「:」作分隔。如「foo:inner_foo」這個key值在Redis中只是單純的一個key,但是在phpRedisAdmin顯示時,就好像是「foo」這個key底下有「inner_foo」這個key。
login:可以登入phpRedisAdmin的使用者帳密。如果沒設定,不用登入即可進入phpRedisAdmin。
使用網頁瀏覽器即可開啟phpRedisAdmin。phpRedisAdmin的圖形介面看起來十分精簡,雖不是說很好用,但有總比沒有好!