常常用到redis,但基本上都是基於集成開發環境,redis的鏈接也是基於框架自身,總感受缺點什麼,剛好在ubuntu系統中apt-get並不直接提供php的redis擴展,藉此機會總結了下redis對php的支持
若是想一想要在程序中使用redis,那麼要有兩個先決條件,第一要安裝redis程序,第二要使redis支持php
這裏主要談一下redis對php的支持,咱們常見的有兩種
1.phpredis(實現方式:php擴展,c語言)
特色:須要咱們在開發環境中安裝php擴展,使用比較方便,缺點是擴展的門檻比較高,可是運行速度快,ci框架官方文檔中採此方式
2.Predis(實現方式:純php語言)
特色:比較方便,易於擴展,laraval框架官方文檔中採用此方式
一.ubuntu安裝phpredis擴展,php版本是7.0
1.準備工做:安裝擴展須要phpize
查看可供安裝的擴展 apt search php7
發現 php7.0-dev擴展是支持的,開始安裝 apt-get install php7.0-dev
2.開始安裝php的redis擴展
1.root@ubuntu:/tmp# git clone -b php7 https://github.com/phpredis/phpredis.git
2.root@ubuntu:/tmp# mv phpredis/ /etc/
3.root@ubuntu:/tmp# cd /etc/phpredis
4.root@ubuntu://etc/phpredis# phpize
5.root@ubuntu://etc/phpredis# ./configure
6.root@ubuntu://etc/phpredis#make && make install
3.啓動擴展
vim / etc / php / 7.0 / fpm / php .ini ,在配置文件中添加以下語句:extension=redis.so
最後使用命令來重啓 PHP 服務: service php7 . 0 - fpm restart
4.測試是否成功,書寫test.php文件,加入如下內容
<?php
phpinfo();
成功顯示redis項,證實安裝成功
5.使用php去訪問redis
書寫testredis.php文件,內容以下
<?php
$redis = new Redis();
$redis->connect('127.0.0.1',6379);
$redis->set('say','hello world');
echo 'archer: '.$redis->get('say');
輸出如下內容,證實訪問成功
archer: hello world
二.predis的使用
1.首先考慮,若是你已經安裝了phpredis擴展,那麼可能要考慮衝突問題,具體沒有驗證,網上有此說法
,因此個人作法是將redisphp啓動擴展操做中extension=redis.so這句註釋掉
目錄結構以下
3.引入predis進行測試,建立testpredis.php文件,內容以下
<?php
require './predis-1.1/autoload.php';
$client = new Predis\Client();
$client->set('foo', 'bar');
$value = $client->get('foo');
var_dump($value);exit;
輸出結果:string(3) "bar"
證實引入成功
4.關於鏈接,默認是127.0.0.1 端口6379,咱們也能夠本身傳入參數
$client = new Predis\Client([ 'scheme' => 'tcp', 'host' => '10.0.0.1', 'port' => 6379, ]); // Same set of parameters, passed using an URI string: $client = new Predis\Client('tcp://10.0.0.1:6379');
參考資料