基於PhalApi的Redis拓展

#基於PhalApi的Redis拓展php

##前言## 先在這裏感謝phalapi框架創始人@dogstar,爲咱們提供了這樣一個優秀的開源框架.git

編寫本次拓展出於的目的是爲了解決並非很是熟悉redis的童鞋可以方便的使用redis進行實際的運用 ,對原生的phpredis進行的封裝優化良好的註釋和例子但願能提供更好的幫助!github

注:本拓展並無開發完成,也沒進行嚴格的測試,此版本爲還處於開發階段的鑑賞版.redis

附上:centos

官網地址:http://www.phalapi.net/api

開源中國Git地址:http://git.oschina.net/dogstar/PhalApi/tree/release緩存

##安裝配置redis以及phpredis##服務器

基於centos6.5app

//下redis解壓安裝
    wget http://download.redis.io/releases/redis-2.8.17.tar.gz
    tar zxvf redis-2.8.17.tar.gz
    cd redis-2.8.17
    make
    make test
    make install
    //生成6379端口以及配置文件
    cd utils
    ./install_server.sh
    Please select the redis port for this instance: [6379]
    Please select the redis config file name [/etc/redis/6379.conf]
    Please select the redis log file name [/var/log/redis_6379.log]
    Please select the data directory for this instance [/var/lib/redis/6379]
    Please select the redis executable path [/usr/local/bin/redis-server]
    //對配置文件進行配置
    vi /etc/redis/6379.conf
    databases 100                            #可使用的庫的數量修改16爲100
    masterauth xxxxxxxxxxxxx                 #鏈接 master 的認證密碼
    requirepass woyouwaimai76                #鏈接此redis的鏈接密碼
    :wq
    //修改關閉redis須要密碼
    vi /etc/rc.d/init.d/redis_6379
    $CLIEXEC -p $REDISPORT -a woyouwaimai76 shutdown    #stop redis須要密碼
    //重啓redis
    service redis_6379 restart
    //添加到系統啓動項
    chkconfig redis_6379 on

     //下載phpredis解壓安裝
     wget https://github.com/nicolasff/phpredis/archive/master.zip
     unzip master.zip -d phpredis
     cd phpredis/phpredis-master
     phpize
     ./configure
     make && make install
     //在php.ini中註冊phpredis
     extension = redis.so

     //測試
      <?php
         $auth     = 'xxxxxxxxx';
         $source   = '127.0.0.1';
         $host     = '6379';
         $redis    = new Redis();
         echo $redis->connect($host) ? "$host connect" : "$host fail";
         if($auth){
             echo $redis->auth($auth) ? " auth success" : " auth fail";
         }

##註冊配置文件在Config.app文件下面## return array( //Redis配置項 'redis' => array( //Redis緩存配置項 'servers' => array( 'host' => '127.0.0.1', //Redis服務器地址 'port' => '6379', //Redis端口號 'prefix' => 'developers_', //Redis-key前綴 'auth' => 'woyouwaimai76', //Redis連接密碼 ), // Redis分庫對應關係 'DB' => array( 'developers' => 1, 'user' => 2, 'code' => 3, ), //使用阻塞式讀取隊列時的等待時間單位/秒 'blocking' => 5, ),框架

);

##在init入口文件註冊redis拓展##

//redis連接
DI()->redis = new Redis_Lite(DI()->config->get('app.redis.servers'));

##開始使用##

//存入永久的鍵值隊
DI()->redis->set_forever(鍵名,值,庫名);
//獲取永久的鍵值隊
DI()->redis->get_forever(鍵名, 庫名);

//存入一個有時效性的鍵值隊,默認600秒
DI()->redis->set_Time(鍵名,值, 庫名,有效時間);
//獲取一個有時效性的鍵值隊
DI()->redis->get_Time(鍵名, 庫名);

//寫入隊列左邊
DI()->redis->set_Lpush(隊列鍵名,值, 庫名);
//讀取隊列右邊
DI()->redis->get_lpop(隊列鍵名, 庫名);
//讀取隊列右邊 若是沒有讀取到阻塞必定時間(阻塞時間或讀取配置文件blocking的值)
DI()->redis->get_Brpop(隊列鍵名,值, 庫名);

//刪除一個鍵值隊適用於全部
DI()->redis->del(鍵名, 庫名);
//自動增加
DI()->redis->get_incr(鍵名, 庫名);
//切換DB而且得到操做實例
DI()->redis->get_redis(鍵名, 庫名);

更多使用方法請參考Redis_Lite文件

相關文章
相關標籤/搜索