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的圖形介面看起來十分精簡,雖不是說很好用,但有總比沒有好!
Ubuntu如何架設Redis Server並且與PHP一同使用?
前往
- Software
- ↳ CodeCharge Studio
- ↳ CodeCharge
- ↳ DemoCharge
- ↳ SuperPDF
- ↳ 551einv
- ↳ E3進銷存
- 程式語言
- ↳ PHP
- ↳ CodeLobster PHP Edition
- ↳ Yii
- ↳ CodeIgniter
- ↳ Phalcon
- ↳ Symfony
- ↳ FuelPHP
- ↳ Zend Framework 2
- ↳ laravel
- ↳ WordPress
- ↳ ASP.NET/C#
- ↳ ASP/VBScript
- ↳ JSP
- ↳ Java Servlets
- ↳ ColdFusion
- ↳ Perl
- ↳ Java Script
- ↳ jQuery
- ↳ HTML + CSS
- ↳ jQuery
- ↳ nodejs
- ↳ VB6
- ↳ Git
- ↳ App Inventor 2
- ↳ bash
- ↳ C++/ VC/ OpenCV
- ↳ OpenCV
- ↳ go
- ↳ cordova
- ↳ python
- ↳ Xamarin
- ↳ Assembly
- 資料庫
- ↳ MySQL
- ↳ PostgreSQL
- ↳ ORACLE
- ↳ Access
- ↳ SQL Server
- ↳ SQLite
- ↳ MariaDB
- ↳ Mongodb
- 作業系統
- ↳ Linux
- ↳ Ubuntu
- ↳ CentOS
- ↳ Mint
- ↳ Mandriva
- ↳ Debian
- ↳ Red Hat Enterprise Linux
- ↳ Oracle Linux
- ↳ Fedora
- ↳ Kali Linux
- ↳ OpenSUSE
- ↳ Elementary OS
- ↳ Microsoft
- ↳ Server 2008 R2
- ↳ Server 2012 R2
- ↳ Server 2012
- ↳ 8
- ↳ 10
- ↳ System Center 2016
- ↳ NOVELL
- ↳ FreeBSD
- ↳ VMware
- ↳ VirtualBox
- ↳ Mac OS X
- ↳ Solaris
- ↳ iOS
- ↳ Android
- ↳ Cloud
- ↳ OpenStack
- ↳ Docker
- ↳ Proxmox VE
- ↳ CloudReady
- ↳ chrome
- 網頁伺服器
- ↳ apache
- ↳ tomcat
- ↳ nginx
- ↳ IIS
- ↳ JBoss
- ↳ weblogic
- ↳ WebHosting
- 硬體
- ↳ 硬體及週邊
- ↳ RouterOS
- ↳ LEGO NXT
- ↳ Arduino
- ↳ MSP430
- ↳ Raspberry Pi
- ↳ OpenERP
- ↳ Storage
- ↳ Server
- ↳ Brocade
- ↳ MODELS
- ↳ FortiGate
- 軟體
- ↳ sublime
- ↳ LibreNMS