Redis系列-php怎麼通過redis擴展使用redis

通過前面幾篇blog,我們應該對redis有個大致的認識,這裏再講解下,php怎麼連接redis服務器進行數據讀寫?


1、安裝php擴展

a)安裝php擴展phpredis:

[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
如果順利,將得到類似如下提示:

Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/
php擴展文件目錄下,將有個redis.so文件。

b)加載redis.so

在php.ini 文件中,添加配置:

[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
$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:移除一個或多個成員

更多信息請參考:https://github.com/nicolasff/phpredis

http://redis.io/clients

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章