好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > PHP操作Redis常用技巧總結

PHP操作Redis常用技巧總結

熱門標簽:電話機器人銷售主要負責什么 寧波外呼營銷系統 長沙做地圖標注公司 四川保險智能外呼系統供應商 上海做外呼線路的通信公司 地圖標注專員怎么樣 房產中介用的是什么外呼系統 福建銀行智能外呼系統價格 遼寧ai電銷機器人價格

本文實例講述了PHP操作Redis常用技巧。分享給大家供大家參考,具體如下:

一、Redis連接與認證

//連接參數:ip、端口、連接超時時間,連接成功返回true,否則返回false
$ret = $redis->connect('127.0.0.1', 6379, 30);
//密碼認證:成功返回true,否則返回false
$ret = $redis->auth('123456');

二、String操作

//設置鍵值:成功返回true,否則返回false
$redis->set('mystr', 'Welcome!');
//獲取鍵值:成功返回String類型鍵值,若key不存在或不是String類型則返回false
$ret = $redis->get('mystr');
//從某個key所存儲的字符串的指定偏移量開始,替換為另一指定字符串,成功返回替換后新字符串的長度。
$ret = $redis->setRange('mystr', 7, ' to Beijing!');
//獲取存儲在指定key中字符串的子字符串。
$ret = $redis->getRange('mystr', 0, 6);
//設置新值,返回舊值:若key不存在則設置值,返回false
$ret = $redis->getSet('mystr', 'hi man');
//一次設置多個鍵值對:成功返回true。
$ret = $redis->mset(['name' => 'jet', 'age' => 18]);
//一次獲取多個key的值:返回一個鍵值對數組,其中不存在的key值為false。
$ret = $redis->mget(['name', 'age']);
//設置指定key的值及其過期時間,單位:秒。
//參數:鍵名,過期時間,鍵值。成功返回true。
$ret = $redis->setex('name', 10, 'jetwu');
//以毫秒為單位設置指定key的值和過期時間。成功返回true。
$ret = $redis->psetex('name', 10, 'jetwu');
//key的值不存在時,才為其設置值。key不存在且設置成功返回true,否則返回false。
$ret = $redis->setnx('name', 'boby');
//setnx命令的批量操作。只有在給定所有key都不存在的時候才能設置成功,只要其中一個key存在,所有key都無法設置成功。
$ret = $redis->msetnx(['country' => 'China', 'city' => 'Shenzhen']);
//獲取指定key存儲的字符串的長度,key不存在返回0,不為字符串返回false。
$ret = $redis->strlen('name');
//將指定key存儲的數字值增加1。若key不存在會先初始化為0再增加1,若key存儲的不是整數值則返回false。成功返回key新值。
$ret = $redis->incr('age');
//給指定key存儲的數字值增加指定增量值。
$ret = $redis->incrBy('age', 10);
//給指定key存儲的數字值增加指定浮點數增量。
$ret = $redis->incrByFloat('age', 1.5);
//將指定key存儲的數字值減一。
$ret = $redis->decr('age');
//將指定key存儲的數字值減去指定減量值。
$ret = $redis->decrBy('age', 10);
//為指定key追加值到原值末尾,若key不存在則相對于set()函數。
$ret = $redis->append('mystr', 'haha');

三、Hash操作

//為hash表中的字段賦值。成功返回1,失敗返回0。若hash表不存在會先創建表再賦值,若字段已存在會覆蓋舊值。
$ret = $redis->hSet('user', 'realname', 'jetwu');
//獲取hash表中指定字段的值。若hash表不存在則返回false。
$ret = $redis->hGet('user', 'realname');
//查看hash表的某個字段是否存在,存在返回true,否則返回false。
$ret = $redis->hExists('user', 'realname');
//刪除hash表的一個字段,不支持刪除多個字段。成功返回1,否則返回0。
$ret = $redis->hDel('user', 'realname');
//同時設置某個hash表的多個字段值。成功返回true。
$ret = $redis->hMset('user', ['name' => 'jet', 'age' => 18]);
//同時獲取某個hash表的多個字段值。其中不存在的字段值為false。
$ret = $redis->hMget('user', ['name', 'age']);
//獲取某個hash表所有的字段和值。
$ret = $redis->hGetAll('user');
//獲取某個hash表所有字段名。hash表不存在時返回空數組,key不為hash表時返回false。
$ret = $redis->hKeys('user');
//獲取某個hash表所有字段值。
$ret = $redis->hVals('user');
//為hash表中不存在的字段賦值。若hash表不存在則先創建,若字段已存在則不做任何操作。設置成功返回true,否則返回false。
$ret = $redis->hSetNx('user', 'realname', 'jetwu');
//獲取某個hash表的字段數量。若hash表不存在返回0,若key不為hash表則返回false。
$ret = $redis->hLen('user');
//為hash表中的指定字段加上指定增量值,若增量值為負數則相當于減法操作。若hash表不存在則先創建,若字段不存在則先初始化值為0再進行操作,若字段值為字符串則返回false。設置成功返回字段新值。
$ret = $redis->hIncrBy('user', 'age', 10);
//為hash表中的指定字段加上指定浮點數增量值。
$ret = $redis->hIncrBy('user', 'age', 1.5);

四、List操作

//從list頭部插入一個值。
$ret = $redis->lPush('city', 'guangzhou');
//從list尾部插入一個值。
$ret = $redis->rPush('city', 'guangzhou');
//獲取列表指定區間中的元素。0表示列表第一個元素,-1表示最后一個元素,-2表示倒數第二個元素。
$ret = $redis->lrange('city', 0, -1);//查看隊列所有元素
//將一個插入已存在的列表頭部,列表不存在時操作無效。
$ret = $redis->lPushx('city', 'hangzhou');
//將一個或多個值插入已存在的列表尾部,列表不存在時操作無效。
$ret = $redis->rPushx('city', 'hangzhou');
//移除并返回列表的第一個元素,若key不存在或不是列表則返回false。
$ret = $redis->lPop('city');
//移除并返回列表的最后一個元素,若key不存在或不是列表則返回false。
$ret = $redis->rPop('city');
//移除并獲取列表的第一個元素。如果列表沒有元素則會阻塞列表直到等待超時或發現可彈出元素為止。
//參數:key,超時時間(單位:秒)
//返回值:[0=>key,1=>value],超時返回[]
$ret = $redis->blPop('city', 10);
//移除并獲取列表的最后一個元素。如果列表沒有元素則會阻塞列表直到等待超時或發現可彈出元素為止。
//參數:key,超時時間(單位:秒)
//返回值:[0=>key,1=>value],超時返回[]
$ret = $redis->brPop('city', 10);
//移除列表中最后一個元素,將其插入另一個列表頭部,并返回這個元素。若源列表沒有元素則返回false。
$ret = $redis->rpoplpush('city', 'city2');
//移除列表中最后一個元素,將其插入另一個列表頭部,并返回這個元素。如果列表沒有元素則會阻塞列表直到等待超時或發現可彈出元素為止。
//參數:源列表,目標列表,超時時間(單位:秒)
//超時返回false
$ret = $redis->brpoplpush('city', 'city2', 10);
//返回列表長度。
$ret = $redis->lLen('city');
//通過索引獲取列表中的元素。若索引超出列表范圍則返回false。
$ret = $redis->lindex('city', 0);
//通過索引設置列表中元素的值。若是索引超出范圍,或對一個空列表進行lset操作,則返回false。
$ret = $redis->lSet('city', 2, 'changsha');
//在列表中指定元素前或后面插入元素。若指定元素不在列表中,或列表不存在時,不執行任何操作。
//參數:列表key,Redis::AFTER或Redis::BEFORE,基準元素,插入元素
//返回值:插入成功返回插入后列表元素個數,若基準元素不存在返回-1,若key不存在返回0,若key不是列表返回false。
$ret = $redis->lInsert('city', Redis::AFTER, 'changsha', 'nanjing');
//根據第三個參數count的值,移除列表中與參數value相等的元素。
//count > 0 : 從表頭開始向表尾搜索,移除與value相等的元素,數量為count。
//count  0 : 從表尾開始向表頭搜索,移除與value相等的元素,數量為count的絕對值。
//count = 0 : 移除表中所有與value相等的值。
//返回實際刪除元素個數
$ret = $redis->lrem('city', 'guangzhou', -2);
//對一個列表進行修剪,只保留指定區間的元素,其他元素都刪除。成功返回true。
$ret = $redis->ltrim('city', 1, 4);

五、Set操作

//將一個元素加入集合,已經存在集合中的元素則忽略。若集合不存在則先創建,若key不是集合類型則返回false,若元素已存在返回0,插入成功返回1。
$ret = $redis->sAdd('myset', 'hello');
//返回集合中所有成員。
$ret = $redis->sMembers('myset');
//判斷指定元素是否是指定集合的成員,是返回true,否則返回false。
$ret = $redis->sismember('myset', 'hello');
//返回集合中元素的數量。
$ret = $redis->scard('myset');
//移除并返回集合中的一個隨機元素。
$ret = $redis->sPop('myset');
//返回集合中的一個或多個隨機成員元素,返回元素的數量和情況由函數的第二個參數count決定:
//如果count為正數,且小于集合基數,那么命令返回一個包含count個元素的數組,數組中的元素各不相同。
//如果count大于等于集合基數,那么返回整個集合。
//如果count為負數,那么命令返回一個數組,數組中的元素可能會重復出現多次,而數組的長度為count的絕對值。
$ret = $redis->sRandMember('myset', 2);
//移除集合中指定的一個元素,忽略不存在的元素。刪除成功返回1,否則返回0。
$ret = $redis->srem('myset', 'hello');
//迭代集合中的元素。
//參數:key,迭代器變量,匹配模式,每次返回元素數量(默認為10個)
$ret = $redis->sscan('myset', $it, 'a*', 5);
//將指定成員從一個源集合移動到一個目的集合。若源集合不存在或不包含指定元素則不做任何操作,返回false。
//參數:源集合,目標集合,移動元素
$ret = $redis->sMove('myset', 'myset2', 'aaa');
//返回所有給定集合之間的差集,不存在的集合視為空集。
$ret = $redis->sDiff('myset', 'myset2', 'myset3');
//將所有給定集合之間的差集存儲在指定的目的集合中。若目的集合已存在則覆蓋它。返回差集元素個數。
//參數:第一個參數為目標集合,存儲差集。
$ret = $redis->sDiffStore('myset3', 'myset', 'myset2');
//返回所有給定集合的交集,不存在的集合視為空集。
$ret = $redis->sInter('myset', 'myset2', 'myset3');
//將所有給定集合的交集存儲在指定的目的集合中。若目的集合已存在則覆蓋它。返回交集元素個數。
//參數:第一個參數為目標集合,存儲交集。
$ret = $redis->sInterStore('myset4', 'myset', 'myset2', 'myset3');
//返回所有給定集合的并集,不存在的集合視為空集。
$ret = $redis->sUnion('myset', 'myset2', 'myset3');
//將所有給定集合的并集存儲在指定的目的集合中。若目的集合已存在則覆蓋它。返回并集元素個數。
//參數:第一個參數為目標集合,存儲并集。
$ret = $redis->sUnionStore('myset4', 'myset', 'myset2', 'myset3');

六、Zset操作

//將一個或多個成員元素及其分數值加入到有序集當中。如果某個成員已經是有序集的成員,則更新這個成員的分數值,并通過重新插入這個成員元素,來保證該成員在正確的位置上。分數值可以是整數值或雙精度浮點數。
$ret = $redis->zAdd('scores', 98, 'English', 90, 'physics');
//返回有序集中指定區間內的成員。成員按分數值遞增排序,分數值相同的則按字典序來排序。
//參數:第四個參數表示是否返回各個元素的分數值,默認為false。
$ret = $redis->zRange('scores', 0, -1, true);//查看Zset所有成員以及它們各自的分數值
//返回有序集中指定區間內的成員。成員按分數值遞減排序,分數值相同的則按字典序的逆序來排序。
$ret = $redis->zReverseRange('scores', 0, -1, true);
//返回有序集中指定分數區間的成員列表,按分數值遞增排序,分數值相同的則按字典序來排序。默認使用閉區間。
$ret = $redis->zRangeByScore('scores', 90, 100, ['withscores'=>true]);
//返回有序集中指定分數區間的成員列表,按分數值遞減排序,分數值相同的則按字典序的逆序來排序。注意,區間表示的時候大值在前,小值在后,默認使用閉區間。
$ret = $redis->zRevRangeByScore('scores', 100, 90, ['withscores'=>true]);
//迭代有序集合中的元素。
//返回值:[元素名=>分數值,,..]
$ret = $redis->zscan('scores', $it, '', 10);
//返回指定有序集的元素數量。
$ret = $redis->zCard('scores');
//返回有序集中指定分數區間的成員數量。
$ret = $redis->zCount('scores', 90, 100);
//返回有序集中指定成員的分數值。若成員不存在則返回false。
$ret = $redis->zScore('scores', 'math');
//返回有序集中指定成員的排名,按分數值遞增排序。分數值最小者排名為0。
$ret = $redis->zRank('scores', 'chemistry');
//返回有序集中指定成員的排名,按分數值遞減排序。分數值最大者排名為0。
$ret = $redis->zRevRank('scores', 'chemistry');
//移除有序集中的一個或多個成員,忽略不存在的成員。返回刪除的元素個數。
$ret = $redis->zRem('scores', 'chemistry', 'English');
//移除有序集中指定排名區間的所有成員。
$ret = $redis->zRemRangeByRank('scores', 0, 2);
//移除有序集中指定分數值區間的所有成員。
$ret = $redis->zRemRangeByScore('scores', 80, 90);
//對有序集中指定成員的分數值增加指定增量值。若為負數則做減法,若有序集不存在則先創建,若有序集中沒有對應成員則先添加,最后再操作。
$ret = $redis->zIncrBy('scores', 2, 'Chinese');
//計算給定一個或多個有序集的交集,并將其存儲到一個目的有序集中。結果集中某個成員的分數值是所有給定集下該成員分數值之和。
$ret = $redis->zinterstore('zset3', 'zset2', 'zset1');
//計算給定一個或多個有序集的并集,并將其存儲到一個目的有序集中。結果集中某個成員的分數值是所有給定集下該成員分數值之和。
$ret = $redis->zunionstore('zset3', 'zset2', 'zset1');

更多關于PHP相關內容感興趣的讀者可查看本站專題:《php+redis數據庫程序設計技巧總結》、《php面向對象程序設計入門教程》、《PHP基本語法入門教程》、《PHP數組(Array)操作技巧大全》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》

希望本文所述對大家PHP程序設計有所幫助。

您可能感興趣的文章:
  • 30個php操作redis常用方法代碼例子
  • redis 隊列操作的例子(php)
  • php操作redis中的hash和zset類型數據的方法和代碼例子
  • php結合redis實現高并發下的搶購、秒殺功能的實例
  • php Session存儲到Redis的方法
  • php操作redis緩存方法分享
  • 在PHP中使用redis
  • PHP實現操作redis的封裝類完整實例
  • Php-Redis安裝測試筆記
  • Linux下php安裝Redis擴展的方法
  • php+redis實現商城秒殺功能
  • redis安裝、配置、使用和redis php擴展安裝教程
  • PHP實現Redis單據鎖以及防止并發重復寫入
  • ThinkPHP自定義Redis處理SESSION的實現方法
  • 詳解thinkphp+redis+隊列的實現代碼
  • 項目中應用Redis+Php的場景
  • PHP使用Redis長連接的方法詳解
  • php操作redis命令及代碼實例大全

標簽:佛山 澳門 宿遷 常德 延安 宜春 深圳 工商登記

巨人網絡通訊聲明:本文標題《PHP操作Redis常用技巧總結》,本文關鍵詞  PHP,操作,Redis,常用,技巧,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PHP操作Redis常用技巧總結》相關的同類信息!
  • 本頁收集關于PHP操作Redis常用技巧總結的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 国产精品秘?精东国产| 国产香蕉在线视频| 国产初女破初的视频全过程| 人妻婬乱厨房波多野结衣hd | 国产成人毛片视频不卡在线| 上课把女同学下面玩出水视频| 国产农村A片国语对白| 久草水蜜桃| 老翁大龟廷进秀婷小泬| 国产精品合集一区二区三区| 精品国产香蕉| 国内精品宾馆在线精品酒店| japaneseLESBIANSEXHD| 日本无码一级A片毛片视频| 最近中文字幕高清中文字幕5| jk白丝袜美女被男人桶| 热久久最新网址| 午夜精品久久久久久久久无码99热| 国产高清视频一区三区嫩模| 你乖乖的| 97青娱国产盛宴精品视频| 两腿间花蒂被吸得肿了视频大全| 18禁无遮挡羞羞污污污网站| 美女隐私免费视频无遮挡网站| 久操福利| 用力别停我要我受不了了视频| 女人大荫蒂毛茸茸视频| 又湿又滑的粉嫩18p国产| 婷婷激情五月| 国产精品亚洲AV三去一片红 | 大白腿美女屁股啪啪网站| 久久99国产精品久久99 作者 | 国产乱码精品一区二区三区抖音| 99人人妻人人澡人人爽人人精品| 亚洲精品电影在线| 双男主全是车的动漫| 肉耽高h一受多攻学校寝室| chinese老太交另类bbw| 男男啪啪无遮挡H漫画微博| 国产性色AV精品一区免费| g0g0亚洲大胆肉体艺术|