PHP操作Redis參考手冊____PHP

來源:互聯網
上載者:User
String 類型操作

string是redis最基本的類型,而且string類型是二進位安全的。意思是redis的string可以包含任何資料。比如jpg圖片或者序列化的對象

$redis->set('key','TK');
$redis->set('number','1');
$redis->setex('key',5,'TK'); //設定有效期間為5秒的索引值
$redis->psetex('key',5000,'TK'); //設定有效期間為5000毫秒(同5秒)的索引值
$redis->setnx('key','XK'); //若索引值存在返回false 不存在返回true
$redis->delete('key'); 刪除索引值 可以傳入數組 array('key1','key2')刪除多個鍵
$redis->getSet('key','XK'); //將鍵key的值設定為XK, 並返回這個索引值原來的值TK
 $ret = $redis->multi()  //批量交易處理,不保證處理資料的原子性        ->set('key1', 'val1')        ->get('key1')        ->setnx('key', 'val2')        ->get('key2')        ->exec();
$redis->watch('key');   // 監控鍵key 是否被其他用戶端修改                           如果KEY在調用watch()和exec()之間被修改,exec失敗
function f($redis, $chan, $msg) {  //頻道訂閱    switch($chan) {        case 'chan-1':            echo $msg;            break;        case 'chan-2':            echo $msg;            break;        case 'chan-2':            echo $msg;            break;    }}$redis->subscribe(array('chan-1', 'chan-2', 'chan-3'), 'f'); // subscribe to 3 chans$redis->publish('chan-1', 'hello, world!'); // send message. 
$redis->exists('key'); //驗證鍵是否存在,存在返回true
$redis->incr('number'); //索引值加1
$redis->incrby('number',-10); //索引值加減10
$redis->incrByFloat('number', +/- 1.5); //索引值加減小數
$redis->decr('number'); // 索引值減1
$redis->decrBy('number',10); // 索引值減10
$mget = $redis->mget(array('number','key')); // 批量擷取索引值,返回一個數組
$redis->mset(array('key0' => 'value0', 'key1' => 'value1')); // 大量設定索引值
$redis->msetnx(array('key0' => 'value0', 'key1' => 'value1'));                                         // 大量設定索引值,類似將setnx()方法大量操作
$redis->append('key', '-Smudge'); //原索引值TK,將值追加到索引值後面,索引值為TK-Smudge
$redis->getRange('key', 0, 5); // 索引值截取從0位置開始到5位置結束
$redis->getRange('key', -6, -1); // 字串截取從-6(倒數第6位置)開始到-1(倒數第1位置)結束
$redis->setRange('key', 0, 'Smudge');                                     // 索引值中替換字串,0表示從0位置開始                                       有多少個字元替換多少位置,其中漢字佔2個位置
$redis->strlen('key'); //索引值長度
$redis->getBit('key');
$redis->setBit('key');
list鏈表操作
$redis->delete('list-key'); // 刪除鏈表
$redis->lPush('list-key', 'A'); //插入鏈表頭部/左側,返回鏈表長度
$redis->rPush('list-key', 'B'); //插入鏈表尾部/右側,返回鏈表長度
$redis->lPushx('list-key', 'C');                  // 插入鏈表頭部/左側,鏈表不存在返回0,存在即插入成功,返回當前鏈表長度
$redis->rPushx('list-key', 'C');                  // 插入鏈表尾部/右側,鏈表不存在返回0,存在即插入成功,返回當前鏈表長度
$redis->lPop('list-key'); //返回LIST頂部(左側)的VALUE ,後入先出(棧)
$redis->rPop('list-key'); //返回LIST尾部(右側)的VALUE ,先入先出(隊列)
$redis->blPop();
$redis->brPop();
$redis->lSize('list-key');                     // 如果是鏈表則返回鏈表長度,空鏈表返回0                        若不是鏈表或者不為空白,則返回false ,判斷非鏈表 " === false "                          
$redis->lGet('list-key',-1); // 通過索引擷取鏈表元素 0擷取左側一個  -1擷取最後一個
$redis->lSet('list-key', 0, 'X'); //0位置元素替換為 X
$redis->lRange('list-key', 0, 3);                     //鏈表截取 從0開始 3位置結束 ,結束位置為-1 擷取開始位置之後的全部
$redis->lTrim('list-key', 0, 1); // 截取鏈表(無法復原) 從0索引開始 1索引結束 
$redis->lRem('list-key', 'C', 2); //鏈表從左開始刪除元素2個C
$redis->lInsert('list-key', Redis::BEFORE, 'C', 'X');                     // 在C元素前面插入X  , Redis::AfTER(表示後面插入)                        鏈表不存在則插入失敗 返回0 若元素不存在返回-1
$redis->rpoplpush('list-key', 'list-key2');                     //從源LIST的最後彈出一個元素                      並且把這個元素從目標LIST的頂部(左側)壓入目標LIST。 
$redis->brpoplpush();                    //rpoplpush的阻塞版本,這個版本有第三個參數用於設定阻塞時間                      即如果源LIST為空白,那麼可以阻塞監聽timeout的時間,如果有元素了則執行操作。
Set集合類型
set無序集合 不允許出現重複的元素 服務端可以實現多個 集合操作

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.