連接redis
$redis = new Redis(); $redis->connect($host, $port); $redis->auth('my pass'); //密碼驗證
常用方法
$redis->set('1','1',3600); // 批量操作 $redis->pipeline(); // 開始批量操作 $redis->get("1"); $redis->incr("incr",2); // 自增2 $redis->expire('incr', 86400*20); // 設置key的過期時間 $data = $redis->redis->exec(); // 結束批量操作 var_dump($data[0]); // 獲取批量操作第一個 get var_dump($data[1]); // 獲取批量操作第一個 incr $redis->close(); // 關閉redis連接
集合相關方法
// 添加元素進入集合 $redis->sAdd('lm_template_set_num',1); $redis->sAdd('lm_template_set_num',2); $redis->sAdd('lm_template_set_num',3); $redis->sAdd('lm_template_set_num',4); $redis->sAdd('lm_template_set_num',5); // 刪除集合中指定的元素值,1 成功,0刪除失敗 $r = $redis->sRem('lm_template_set_num',4); var_dump($r); // 返回集合中元素的數量 $r = $redis->sCard('lm_template_set_num'); var_dump($r); // 移除並返回集合中的一個隨機元素 $r = $redis->sPop('lm_template_set_num'); var_dump($r); // 返回集合中的一個隨機元素。$num 隨機取的個數 $r = $redis->sRandMember('lm_template_set_num',$num); var_dump($r); // 判斷成員元素是否是集合的成員。1 存在 0 不存在 $r = $redis->sIsMember('lm_template_set_num',1); var_dump($r); // 獲取集合中所有的元素 $r = $redis->sMembers('lm_template_set_num'); var_dump($r);
有序集合相關方法:
// 向有序集合添加一個或多個成員,或者更新已存在成員的分數 $redis->zAdd('lm_template_set_num',1 "one"); $redis->zAdd('lm_template_set_num',2 "two"); $redis->zAdd('lm_template_set_num',1 "three"); // 計算集合中元素的數量 $r = $redis->zCard('lm_template_set_num'); var_dump($r); // 計算在有序集合中指定區間分數的成員數 // 返回名稱為key的zset中score >= star且score <= end的所有元素的個數 $r = $redis->zCount('lm_template_set_num',1,3); var_dump($r); // 有序集合中對指定成員的分數加上增量 increment $r = $redis->zIncrBy('lm_template_set_num',1,"three"); var_dump($r); // 通過索引區間返回有序集合成指定區間內的成員 $r = $redis->zRange('lm_template_set_num',0,-1); // 遞增排列 $r = $redis->zRevRange('lm_template_set_num',0,-1); // 遞減排列 var_dump($r); // 返回有序集合中指定成員的索引 $r = $redis->zRank('lm_template_set_num', "three"); // 從低到高 顯示three 的排名 var_dump($r); $r = $redis->zRevRank('lm_template_set_num', "three"); // 從高到低 顯示three 的排名 var_dump($r); // 移除有序集合中的一個或多個成員 $r = $redis->zRem('lm_template_set_num', "three"); // 顯示移除three var_dump($r); // 返回有序集中,成員的分數值 $r = $redis->zScore('lm_template_set_num', "three"); var_dump($r);
列表
$key = 'lm_list'; // 將一個或多個值插入到列表頭部 $redis->lPush($key,1); //將一個或多個值插入到已存在的列表頭部 列表不存在時操作無效。 $redis->lPushx($key,1); // 在列表中添加一個或多個值 $redis->rPush($key,1); //為已存在的列表添加值 列表不存在時操作無效。 $redis->rPushx($key,1); //用於通過索引獲取列表中的元素。你也可以使用負數下標,以 -1 表示列表的最后一個元素, -2 表示列表的倒數第二個元素,以此類推。 $redis->lIndex($key,1); // 獲取列表長度 $redis->lLen($key); // 移出並獲取列表的第一個元素 $redis->lPop($key); //移除並獲取列表最后一個元素 $redis->rPop($key); // 獲取列表指定范圍內的元素 $redis->lRange($key,0,-1); // 移除列表元素 $redis->lRem($key,1,0); // 通過索引設置列表元素的值 $redis->lSet($key,0,'bar');
哈希
$key = 'lm_hash'; // 添加元素進入哈希表中。 $redis->hSet($key,1,2); // 用於同時將多個 field-value (字段-值)對設置到哈希表中。 $redis->hMset($key,array(1=>1,2=>2,3=>3)); // 只有在字段 field 不存在時,設置哈希表字段的值。 $redis->hSetNx($key,1,2); // 返回哈希表中指定字段的值 $res = $redis->hGet($key,1); print_r($res); // 返回哈希表中一個或多個給定字段的值 $res = $redis->hMGet($key,array(1,2)); print_r($res); // 返回哈希表中所有的字段和值 $res = $redis->hGetAll($key); print_r($res); // 查看哈希表 key 中,指定的字段是否存在。 $redis->hExists($key,1); // 刪除一個或多個哈希表字段 $redis->hDel($key,1); // 用於為哈希表中的字段值加上指定增量值。 增量也可以為負數,相當於對指定字段進行減法操作。 $res = $redis->hIncrBy($key,3,1); print_r($res); // 用於為哈希表中的字段值加上指定浮點數增量值 $redis->hIncrByFloat($key,3,0.1); //用於獲取哈希表中的所有字段名。 $res = $redis->hKeys($key); print_r($res); // 獲取哈希表中所有值 $res = $redis->hVals($key); print_r($res); //用於獲取哈希表中字段的數量。 $redis->hLen($key);