php鏈接redis (帶密碼)常用的redis方法


連接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);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM