1、安裝php擴展
a)安裝php擴展phpredis:
[plain]
[root@xsf002 tool]# git clone https://github.com/nicolasff/phpredis.git phpredis
[root@xsf002 tool]# cd phpredis/
[root@xsf002 phpredis]# /usr/local/php/bin/phpize #<SPAN style="TEXT-INDENT: 20px">假設 php目錄:</SPAN><SPAN style="TEXT-INDENT: 20px">/usr/local/php</SPAN>
[root@xsf002 phpredis]# ./configure --with-php-config=/usr/local/php/bin/php-config
[root@xsf002 phpredis]# make
[root@xsf002 phpredis]# make install
[root@xsf002 tool]# git clone https://github.com/nicolasff/phpredis.git phpredis
[root@xsf002 tool]# cd phpredis/
[root@xsf002 phpredis]# /usr/local/php/bin/phpize #假設 php目錄:/usr/local/php
[root@xsf002 phpredis]# ./configure --with-php-config=/usr/local/php/bin/php-config
[root@xsf002 phpredis]# make
[root@xsf002 phpredis]# make install 如果順利,將得到類似如下提示:
[plain]
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/ php擴展文件目錄下,將有個redis.so文件。
b)加載redis.so
在php.ini 文件中,添加配置:
[plain]
[redis]
extension=redis.so
[redis]
extension=redis.so重啟web服務器,echo phpinfo() ,將看到大致如下顯示:
2、通過擴展訪問redis服務器
php如何使用redis服務器存取數據?無非是經過phpredis擴展模塊,通過如下幾個步驟:
1、實例化redis類 【new redis()】
2、調用redis類方法,連接redis服務器 【connect,pconnect】
3、設置連接選項【setOption】
4、存/取數據
5、關閉連接 【close】
如果使用默認選項,步驟3不需要。請參看下面的代碼示例:
[php]
<?php
$redis = new Redis(); #實例化redis類
$redis->connect('127.0.0.1'); #連接服務器
$redis->set('key', 'hello '); #調用方法,設置string類型值
$redis->append('key', 'world'); #修改string類型值
echo $redis->get('key'); #獲取redis key的值,並輸出顯示
echo $redis->type('key'); #獲取key 的數據類型
echo $redis->echo('will close...');# 輸出字符串
$redis->close(); #關閉連接
<?php
$redis = new Redis(); #實例化redis類
$redis->connect('127.0.0.1'); #連接服務器
$redis->set('key', 'hello '); #調用方法,設置string類型值
$redis->append('key', 'world'); #修改string類型值
echo $redis->get('key'); #獲取redis key的值,並輸出顯示
echo $redis->type('key'); #獲取key 的數據類型
echo $redis->echo('will close...');# 輸出字符串
$redis->close(); #關閉連接 通過上面的代碼,我們基本完成一個簡單redis的存取操作。下面羅列一些Redis類的一些屬性及方法
a)連接redis server:
connect :連接server
pconnect :長連接
auth :權限驗證
select :選擇DB
close : 關閉連接
setOption : 設置 client 選項
getOption : 獲取client選項
ping : ping redis server
echo : 輸出 字符串
注意,如果頻繁操作redis,不停地connect 和close會很耗性能的,這個時候,建議用pconnect 建立個長連接
b)字符串讀寫函數
append :在值的後面追加值
decr :遞減一個key的值
incr :遞增一個key的值
get :獲取一個值
set :設置一個值
getSet :設置值,並返回老值
mGet :批量獲取值
mSet :批量設置值
strlen :獲取值長度
注意:如果能用批量操作盡量用批量,減少頻繁連接redis數據庫性能
c)hash讀寫函數
hDel :刪除一個多個域
hExists :判斷一個hash域是否存在
hGet :獲取hash域的值
hGetAll :獲取所有域值
hIncrBy :自增長一個hash int域的值
hKeys :獲取hash 所有域
hLen :獲取域個數
hMGet :批量獲取域的值
hMSet :批量設置域的值
hSet :設置域的值
hVals:得到所有域的值
d)list讀寫函數
lInsert:插入元素
lLen:list長度
lPop:移除並獲取第一個顏色
lPush:插入一個元素
lRem:移除元素
lSet:設置元素值
e)set
sAdd:增加一個或多個成員
sIsMember:是否包含
sMembers:得到成員
sMove:移動成員
sPop:移除成員
sRandMember:得到隨機成員
sRem:刪除
f)sorted set
zAdd:增加一個或多個
zCard:成員個數
zIncrBy:遞增成員score
zRange:返回索引范圍內的成員
zRangeByScore :返回score范圍內的成員
zScore:獲取成員score
zRem:移除一個或多個成員