欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

php操作redis實(shí)例

 更新時(shí)間:2015年09月28日 12:03:05   作者:北漂燕郊楊哥  
本篇文章由腳本之家小編給大家分享的php操作redis實(shí)例,代碼非常簡單,適合程序員開發(fā)使用,感興趣的朋友跟著小編一起學(xué)習(xí)吧

每次用PHP再操作redis時(shí)都要找手冊或百度一下,為方便以后查找把php操作redis的方法和使用示例統(tǒng)一的整理在這篇文章里,以后就不用反反復(fù)復(fù)的百度了

首先php使用redis需要安裝php的redis擴(kuò)展:

安裝成功后,可以在phpinfo()查看安裝的redis擴(kuò)展的版本號(hào) 

String操作

代碼示例

$redis->setOption(Redis::OPT_PREFIX, 'hf_');//設(shè)置表前綴為hf_
$redis->set('key', 1);//設(shè)置key=aa value=1 [true]
$redis->ttl('key1'); //查詢生存時(shí)間,持久化的返回-1,有生存時(shí)間的返回時(shí)間(單位秒)
$redis->expire('key', 10);//設(shè)置失效時(shí)間[true | false]
$redis->expireAt('x', time() + 3);//key存活到一個(gè)unix時(shí)間戳?xí)r間
$redis->persist('key');//移除生存時(shí)間到期的key 如果key到期 true 如果不到期 false
$redis->mset(array('key0' => 'value0', 'key1' => 'value1'));//設(shè)置一個(gè)或多個(gè)鍵值[true]
$redis->setnx('key', 'value');//key=value,key存在返回false[|true]
$redis->get('key');//獲取key [value]
$redis->mget($arr);//(string|arr),返回所查詢鍵的值
$redis->del($key_arr);//(string|arr)刪除key,支持?jǐn)?shù)組批量刪除【返回刪除個(gè)數(shù)】
$redis->delete($key_str, $key2, $key3);//刪除keys,[del_num]
$redis->getset('old_key', 'new_value');//先獲得key的值,然后重新賦值,[old_value | false]
$redis->strlen('key');//獲取當(dāng)前key的長度
$redis->append('key', 'string');//把string追加到key現(xiàn)有的value中[追加后的個(gè)數(shù)]
$redis->incr('key');//自增1,如不存在key,賦值為1(只對整數(shù)有效,存儲(chǔ)以10進(jìn)制64位,redis中為str)[new_num | false]
$redis->incrby('key', $num);//自增$num,不存在為賦值,值需為整數(shù)[new_num | false]
$redis->decr('key');//自減1,[new_num | false]
$redis->decrby('key', $num);//自減$num,[ new_num | false]
$redis->setex('key', 10, 'value');//key=value,有效期為10秒[true]
$redis->setex('testkey', 60, 'testval');//testkey=testval,有效期為60秒[true]
$redis->keys('*'); //遍歷所有的鍵名

Hash操作

代碼示例

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

Redis List(列表) 操作

//在list列表頭部插入一個(gè)值 '1‘ ,如果'test'列表不存在則自動(dòng)創(chuàng)建此列表。
$redis->lPush('test','1');

//在list列表尾部插入一個(gè)值'2‘ ,如果'test'列表不存在則自動(dòng)創(chuàng)建此列表。
$redis->rPush('test','2');

//用于將一個(gè)值('1')插入到已存在的列表尾部(最右邊)。如果列表不存在,操作無效 返回列表的長度
$redis->rPushx('test','1');

//用于將一個(gè)值('1')插入到已存在的列表頭部,如果列表不存在,操作無效 返回列表的長度
$redis->lPushx('test','1');

//移除并返回列表的第一個(gè)元素,當(dāng)'test‘不存在或?yàn)榭諘r(shí)返回false
$redis->lPop('test');

//移除并返回列表的尾部最后一個(gè)元素,當(dāng)'test‘不存在或?yàn)榭諘r(shí)返回false
$redis->rPop('test');

//取出并刪除列表第一個(gè)元素,如果沒有元素則阻塞等待5秒或到可取出元素為止。
$redis->blPop('test',5);

//取出并刪除列表最后一個(gè)元素,如果沒有元素則阻塞等待5秒或到可取出元素為止。
$redis->brPop('test',5);

//移除test列表的最后一個(gè)元素,并將該元素添加到test2列表并返回 失敗返回false
$redis->rpoplpush('test','test2');

//移除test列表的最后一個(gè)元素,并將該元素添加到test2列表并返回 如果列表沒有元素則會(huì)阻塞列表5秒,直到超時(shí)或有可取元素,超時(shí)返回false
$redis->brpoplpush('test', 'test2', 5);

//返回列表長度
$redis->lLen('test');

//獲取索引為1的列表中的元素,失敗返回false
$redis->lIndex('test',1);

//設(shè)置test列表索引為1的值為'1‘,失敗返回false
$redis->lSet('test',1,'1');

//在列表的元素前或者后插入元素。當(dāng)指定元素不存在于列表中時(shí),不執(zhí)行任何操作。
// \Redis::BEFORE 插入元素之后  \Redis::AFTER 插入元素之前
//當(dāng)列表不存在時(shí),被視為空列表,不執(zhí)行任何操作。如果 key 不是列表類型,返回一個(gè)錯(cuò)誤。
$redis->lInsert('test', \Redis::AFTER,'a','1');

//移除列表中與參數(shù) VALUE ('1‘) 相等的元素
//count 可選范圍:
//count > 0 : 從表頭開始向表尾搜索,移除與 VALUE 相等的元素,數(shù)量為 COUNT 。
//count < 0 : 從表尾開始向表頭搜索,移除與 VALUE 相等的元素,數(shù)量為 COUNT 的絕對值。
//count = 0 : 移除表中所有與 VALUE 相等的值
$redis->lRem('test','1',-1);

//對一個(gè)列表進(jìn)行修剪(trim),就是說,讓列表只保留指定區(qū)間內(nèi)的元素,不在指定區(qū)間之內(nèi)的元素都將被刪除
//下標(biāo) 0 表示列表的第一個(gè)元素,以 1 表示列表的第二個(gè)元素,以此類推。 你也可以使用負(fù)數(shù)下標(biāo),以 -1 表示列表的最后一個(gè)元素, -2 表示列表的倒數(shù)第二個(gè)元素,以此類推
$redis->lTrim('test',1,5);

//返回列表中指定區(qū)間內(nèi)的元素,區(qū)間以偏移量 START 和 END 指定。
// 其中 0 表示列表的第一個(gè)元素, 1 表示列表的第二個(gè)元素,以此類推。 你也可以使用負(fù)數(shù)下標(biāo),以 -1 表示列表的最后一個(gè)元素, -2 表示列表的倒數(shù)第二個(gè)元素,以此類推
$redis->lRange('test',0,10);

到此這篇關(guān)于php操作redis實(shí)例的文章就介紹到這了,更多相關(guān)php操作redis內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論