Windows下安裝redis和在php中使用phpredis擴展

一、redis簡介php

redis是一個key-value存儲系統。和Memcached相似,它支持存 儲的value類型相對更多,包括string(字符串)、list(鏈表)、set(集合)、zset(sorted set --有序集合)和hashs(哈希類型)。這些數據類型都支持push/pop、add/remove及取交集並集和差集及更豐富的操做,並且這些操做都 是原子性的。在此基礎上,redis支持各類不一樣方式的排序。與memcached同樣,爲了保證效率,數據都是緩存在內存中。區別的是redis會週期性的把更新的數據寫入磁盤或者把修改操做寫入追加的記錄文件,而且在此基礎上實現了master-slave(主從)同步。html

Redis 是一個高性能的key-value數據庫。 redis的出現,很大程度補償了memcached這類key/value存儲的不足,在部分場合能夠對關係數據庫起到很好的補充做用。它提供了Python,Ruby,Erlang,PHP客戶端,使用很方便。git

二、windows下安裝redisgithub

下載地址:https://github.com/dmajkic/redis/downloadshttp://pan.baidu.com/s/1gdl9BZt。下載到的Redis支持32bit和64bit。根據本身實際狀況選擇,我選擇64bit。把64bit文件內容拷貝到須要安裝的目錄下,好比:D:\dev\redis-2.4.5。web

Redis文件夾有如下幾個文件redis

redis-server.exe:服務程序
redis-check-dump.exe:本地數據庫檢查
redis-check-aof.exe:更新日誌檢查
redis-benchmark.exe:性能測試,用以模擬同時由N個客戶端發送M個 SETs/GETs 查詢 (相似於Apache的ab工具)
redis.conf:配置文件數據庫

打開一個cmd窗口,使用cd命令切換到指定目錄(D:\dev\redis-2.4.5)運行 redis-server.exe redis.conf 。運行之後出現以下界面。

這就說明Redis服務端已經安裝成功。apache

從新打開一個cmd窗口,使用cd命令切換到指定目錄(D:\dev\redis-2.4.5)運行 redis-cli.exe -h 127.0.0.1 -p 6379,其中 127.0.0.1是本地ip,6379是redis服務端的默認端口。運行成功以下圖所示。
這樣,Redis windows環境下搭建已經完成,是否是很簡單。

這樣,Redis windows環境下搭建已經完成,是否是很簡單。windows

環境已經搭建好,總得測試下吧。好比:存儲一個key爲test,value爲hello world的字符串,而後獲取key值。

正確輸出 hell world,測試成功!緩存

三、PHP中添加phpredis擴展

下載 dll文件

http://download.csdn.net/download/bluesky321/5355093

php_redis.dll 擴展 For PHP5.4.x

PHP5.4.x 的 redis 擴展 php_redis.dll

測試平臺:Windows XPx32 (FastCGI PHP5.4.9 Nginx 1.4.0)

包含 Non Thread Safe 和 Thread Safe 兩個版本

首先把php_redis.dll 和 php_igbinary.dll 放入PHP的ext文件夾,而後在php.ini配置文件裏添加以下代碼:

extension=php_igbinary.dll

extension=php_redis.dll

重啓web服務器

注意:extension=php_igbinary.dll必定要放在extension=php_redis.dll的前面,不然此擴展不會生效

四、PHP中使用

測試代碼一:

<?php
    $redis = new Redis();
    $redis->connect('127.0.0.1',6379);
    $redis->set('test','hello redis');
    echo $redis->get('test');
?>

輸出 hello  redis 成功!

 

測試代碼二:

<?php
    $redis = new Redis();  
    $redis->connect("192.168.138.2","6379");  //php客戶端設置的ip及端口  
    //存儲一個 值  
    $redis->set("say","Hello World");  
    echo $redis->get("say");     //應輸出Hello World  
      
    //存儲多個值  
    $array = array('first_key'=>'first_val',  
              'second_key'=>'second_val',  
              'third_key'=>'third_val');  
    $array_get = array('first_key','second_key','third_key');  
    $redis->mset($array);  
    var_dump($redis->mget($array_get));
?>

 

 

附:windows下redis的安裝配置和php擴展使用phpredis

 

 

1、windows下安裝reid

一、 首先安裝先下載redis數據庫
   
  下載地址: https://github.com/dmajkic/redis/downloadshttp://pan.baidu.com/s/1gdl9BZt

二、解壓安裝文件。獲得如下目錄

   

   redis-server.exe:服務程序

   redis-check-dump.exe:本地數據庫檢查

   redis-check-aof.exe:更新日誌檢查

   redis-benchmark.exe:性能測試,用以模擬同時由N個客戶端發送M個 SETs/GETs 查詢 (相似於 Apache 的ab 工具).

   redis.conf    配置文件

三、啓動Redis服務(conf文件指定配置文件,若不指定則默認):

    D:\redis-2.0.2>redis-server.exe redis.conf

    

四、啓動cmd窗口要一直開着,關閉後則Redis服務關閉。

       這時服務開啓着,另外開一個窗口進行,設置客戶端:

        D:\redis-2.0.2>redis-cli.exe -h 202.117.16.133 -p 6379

        而後能夠開始玩了:
     
        

 
2、php5.4 鏈接使用redis

一、先下載 phpredis.dll擴展包。下載地址:  https://github.com/nicolasff/phpredis/downloads

       

       用phpinfo 查看到時TS vc9。那麼下載的版本就對應好  

      ts版 phpredis_5.4_vc9_ts.7z                         nts版  phpredis_5.4_vc9_nts.7z     

二、解壓縮以後獲得兩個文件,分別將兩個文件複製到php 目錄的 ext目錄下。

     

三、修改php.ini文件。加入extension 擴展 

         extension=php_igbinary.dll
         extension=php_redis.dll

四、 重啓apache ,查看phpinfo 界面。以下則表示安裝成功
   
 

五、phpredis   hellow word    開始你的redis使用

<?php

    $redis=new Redis();                     //redis對象
    $redis->connect("127.0.0.1","6379");    //鏈接redis服務器
    $redis->set("test","Hello World");      //set字符串值
    echo $redis->get("test"); 

?>

 

 

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


在Windows下爲PHP5.6安裝redis擴展和memcached擴展

相關文章
相關標籤/搜索