php中redis的使用


經常用到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這句注釋掉
2.下載predis: https://codeload.github.com/nrk/predis/zip/v1.1, 然后解壓到你相應的站點下
目錄結構如下
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');
 
 
參考資料


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM