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

From: http://blog.csdn.net/love__coder/article/details/8691679php

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

 

一、安裝php擴展github

a)安裝php擴展phpredis:web

 

  1. [root@xsf002 tool]# git clone https://github.com/nicolasff/phpredis.git phpredis  
  2. [root@xsf002 tool]# cd phpredis/  
  3. [root@xsf002 phpredis]# /usr/local/php/bin/phpize   #<SPAN style="TEXT-INDENT: 20px">假設 php目錄:</SPAN><SPAN style="TEXT-INDENT: 20px">/usr/local/php</SPAN>  
  4. [root@xsf002 phpredis]# ./configure --with-php-config=/usr/local/php/bin/php-config  
  5. [root@xsf002 phpredis]# make  
  6. [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
若是順利,將獲得相似以下提示:

 

 

  1. 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.soredis

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

 

  1. [redis]  
  2. extension=redis.so  
[redis]
extension=redis.so

重啓web服務器,echo phpinfo() ,將看到大體以下顯示:服務器

 

 二、經過擴展訪問redis服務器app

php如何使用redis服務器存取數據?無非是通過phpredis擴展模塊,經過以下幾個步驟:函數

一、實例化redis類   【new redis()】性能

二、調用redis類方法,鏈接redis服務器 【connect,pconnect】

三、設置鏈接選項【setOption】

四、存/取數據 

五、關閉鏈接 【close】

若是使用默認選項,步驟3不須要。請參看下面的代碼示例:  

 

  1. <?php  
  2. $redis = new Redis(); #實例化redis類  
  3. $redis->connect('127.0.0.1'); #鏈接服務器  
  4. $redis->set('key', 'hello '); #調用方法,設置string類型值  
  5. $redis->append('key', 'world'); #修改string類型值  
  6. echo $redis->get('key');  #獲取redis key的值,並輸出顯示   
  7. echo $redis->type('key'); #獲取key 的數據類型  
  8. echo $redis->echo('will close...');# 輸出字符串  
  9. $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:移除一個或多個成員

 

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

http://redis.io/clients

相關文章
相關標籤/搜索