首頁 >php教程 >PHP开发 >30個php操作redis常用方法程式碼範例

30個php操作redis常用方法程式碼範例

高洛峰
高洛峰原創
2016-11-29 11:15:281505瀏覽

這篇文章主要介紹了30個php操作redis常用方法代碼範例,本文其實不只30個方法,可以操作string類型、list類型和set類型的資料,需要的朋友可以參考下


 redis的操作很多的,以前看到一個比較全的博客,但是現在找不到了。查個東西搜半天,下面整理一下php處理redis的例子,個人覺得常用一些例子。下面的例子都是基於php-redis這個擴充的。

1,connect

描述:實例連接到一個Redis.
參數:host: string,port: int
回傳值:BOOL 成功回傳:TRUE;失敗回傳:FALSE

範例:

? php

$redis = new redis();

$result = $redis->connect('127.0.0.1', 6379);

var_dump($result); //結果:bool(true)
?


2,set
描述:設定key和value的值

參數:Key Value

回傳值:BOOL 成功回傳:TRUE;失敗回傳:FALSE
範例:


? ();
$redis->connect('127.0.0.1', 6379);
$result = $redis->set('test',"11111111111");
var_dump($result); (true)

?>  





3,get

描述:取得指定鍵的值

參數:key

參數:string或BOOL 如果鍵不存在,則傳回FALSE。否則,傳回指定鍵對應的value值。
範例:

$redis = new redis();
$redis->connect('127.0.0.1', 6379);
,$result = $cedis'); ;
var_dump($result);   //結果:string(11) "1111111111"

?>  




4,delete



4,delete



的參數,每一個關鍵的陣列:key1 key2 key3 … keyN
回傳值:刪除的項數
範例:

$redis = new redis();
$redis->php
$redis = new redis();
$redis->connect('127.0. 0.1', 6379);
$redis->set('test',"111111111111");
echo $redis->get('test');   //結果:11111111111111
($Ered)' );
var_dump($redis->get('test'));  //結果:bool(false)

?>  



5,setnxx ,設定關鍵值參數
參數:key value
回傳值:BOOL 成功回傳:TRUE;失敗回傳:FALSE

範例:


connect('127.0.0.1', 6379);
$redis->set('test',"1111111111111");
$redis->setnx('test',"222222222");
> get('test');  //結果:1111111111111
$redis->delete('test');
$redis->setnx('test',"2222222");
echo $testredis-get('222 ');  //結果:22222222
?>  



6,exists

描述:驗證指定的鍵是否有

參數



$redis = new redis();
$redis->connect('127.0.0.1', 6379);

$redis->set('test',"1111111111110]

var_ump; $redis->exists('test'));  //結果:bool(true)
?>  




7,incr

描述:數字增大鍵值鍵值鍵將會被加到鍵的值

回傳值:INT the new value

實例:


$redis = new redis();
$redis->connect('127.0.0.1', 6379$redis->connect('127.0.0.1', 6379); $redis->set('test',"123");
var_dump($redis->incr("test"));  //結果:int(124)

var_dump($redis->incr("test" ));  //結果:int(125)

?>





8,decr

描述:數位遞減儲存鍵值。

參數:key value:將被加到鍵的值
回傳值:INT the new value

實例:

$redis = new redis();
$redis->connect('127.0.0. ', 6379);
$redis->set('test',"123");
var_dump($redis->decr("test"));  //結果:int(122)

var_dump($redis- >decr("test"));  //結果:int(121)

?>





9,getMultiple

描述:取得所有指定鍵的值。如果一個或多個鍵不存在,則該數組中該鍵的值為假

參數:其中包含鍵值的列表數組
返回值:傳回包含所有鍵的值的數組

實例:



$redis = new redis();
$redis->connect('127.0.0.1', 6379);
$redis->set('test1',"1");
$redis-> set('test2',"2");
$result = $redis->getMultiple(array('test1','test2'));
print_r($result);   //結果:Array ( [0] = > 1 [1] => 2 )
?>


10,lpush

描述:由列表頭部加上字串值。如果不存在該鍵則建立該清單。如果該鍵存在,且不是一個列表,則傳回FALSE。
參數:key,value
回傳值:成功傳回陣列長度,失敗false
實例:

 

$redis = new redis();
$redis->connect('$redis = new redis();
$redis->connect('127. 6379);
$redis->delete('test');
var_dump($redis->lpush("test","111"));   //結果:int(1)
var_dump($redis->lpush ("test","222"));   //結果:int(2)
?>


11,rpush


描述:由列表尾部加上字串值。如果不存在該鍵則建立該清單。如果該鍵存在,且不是一個列表,則傳回FALSE。
參數:key,value
回傳值:成功回傳陣列長度,失敗false
範例:

 


$redis = new redis();
$redis->7$0. 6379);
$redis->delete('test');
var_dump($redis->lpush("test","111"));   //結果:int(1)
var_dump($redis->lpush ("test","222"));   //結果:int(2)
var_dump($redis->rpush("test","333"));   //結果:int(3)
var_dump($ redis->rpush("test","444"));   //結果:int(4)
?>


12,lpop


描述:傳回與移除清單的第一個元素
參數:key
回傳值:成功傳回第一個元素的值,失敗回傳false
範例:

 


$redis = new redis();
$redis->connect('127.0. ', 6379);
$redis->delete('test');
$redis->lpush("test","111");
$redis->lpush("test","222");
$redis->rpush("test","333");
$redis->rpush("test","444");
var_dump($redis->lpop("test"));  //結果: string(3) "222"
?>


13,lsize,llen


描述:傳回的清單的長度。如果清單不存在或為空,則指令傳回0。如果該鍵不是列表,則命令傳回FALSE。
參數:Key
回傳值:成功傳回陣列長度,失敗false
範例:

 


$redis = new redis();
$redis->php
$redis = new redis();
$redis->conconnect('127. ;
$redis->delete('test');
$redis->lpush("test","111");
$redis->lpush("test","222");
$redis-> rpush("test","333");
$redis->rpush("test","444");

var_dump($redis->lsize("test"));  //結果:int(4)

?>


14,lget

描述:傳回指定鍵儲存在清單中指定的元素。 0第一個元素,1第二個… -1最後一個元素,-2的倒數第二…錯誤的索引或鍵不指向列表則傳回FALSE。
參數:key index

回傳值:成功傳回指定元素的值,失敗false

範例:




$redis = new redis();

$redis = new redis();

$redis = new redis();
', 6379);

$redis->delete('test');

$redis->lpush("test","111");
$redis->lpush("test","222");

$redis->rpush("test","333");

$redis->rpush("test","444");

var_dump($redis->lget("test",3));  //結果:string(3) "444"

?>



15,lset🎜🎜描述:為列表指定的索引賦值新的值,若不存在該索引返回false.🎜描述:為列表指定的索引賦值🎜回傳值:成功回傳true,失敗false🎜範例:🎜🎜🎜 🎜

$redis = new redis();
$redis->connect('127.0.0.1', 6379);
$redis->delete('test');
$redtestis->lpush("testis->delete('test');
$redtestis->lpush("testis->lpush("test');
$redtestis->lpush("testis->lpush("test');
$redtestis->lpush(" ","111");
$redis->lpush("test","222");
var_dump($redis->lget("test",1));  //結果:string(3) "111 "
var_dump($redis->lset("test",1,"333"));  //結果:bool(true)

var_dump($redis->lget("test",1));  //結果:string(3) "333"

?>


16,lgetrange

描述:
傳回在該區域中的指定鍵列表中開始到結束儲存的指定元素,lGetRange(key, )。 0第一個元素,1第二個元素… -1最後一個元素,-2的倒數第二…
參數:key start end

回傳值:成功傳回尋找的值,失敗false

範例:




$redis = new redis();
$redis->connect('127.0.0.1', 6379);
$redis->delete('test');
$redtestis->lpush("testis->delete('test');
$redtestis->lpush("testis->lpush("test');

$redtestis->lpush("testis->lpush("test');

$redtestis->lpush(" ","111");
$redis->lpush("test","222");
print_r($redis->lgetrange("test",0,-1));  //結果:Array ( [ 0] => 222 [1] => 111 )

?>





17,lremove

描述:從清單中從頭部開始移除個符合的值。如果count為零,所有符合的元素都被刪除。如果count是負數,內容從尾部開始刪除。
參數:key count value

回傳值:成功回傳刪除的數,失敗false

範例:





$redis = new redis();

$redis = new redis();
0.1', 6379);
$redis->delete('test');

$redis->lpush('test','a');

$redis->lpush('test','b');
$redis->lpush('test','c');

$redis->rpush('test','a');

print_r($redis->lgetrange('test', 0, -1) ); //結果:Array ( [0] => c [1] => b [2] => a [3] => a )

var_dump($redis->lremove('test','a', 2));   //結果:int(2)

print_r($redis->lgetrange('test', 0, -1)); //結果:Array ( [0] => c [1] => b )
?>


18,sadd


描述:為一個Key加上一個值。如果這個值已經在這個Key中,則回傳FALSE。
參數:key value
回傳值:成功回傳true,失敗false
範例:


 

$redis = new redis();
$redis-?php $redis = new redis();

$redis->connect('127. ;

$redis->delete('test');

var_dump($redis->sadd('test','111'));   //結果:bool(true)
var_dump($redis->sadd(' test','333'));   //結果:bool(true)
print_r($redis->sort('test')); //結果:Array ( [0] => 111 [1] => 333 )
?>


19,sremove

描述:刪除Key中指定的value值
參數:key member
回傳值:true or false
範例= new redis();
$redis->connect('127.0.0.1', 6379);
$redis->delete('test');
$redis->sadd('test','111');

$redis->sadd('test','333');

$redis->sremove('test','111');
print_r($redis->sort('test'));    //結果:Array ( [0] => 333 )

?>




20,smove

描述:將Key1中的value移到Key2中

參數:srcKeyKeystKey


 

$redis = new redis();
$redis->connect('127.0.0.1', 6379);
$redtest->dredtestis-predtest; delete('test1');
$redis->sadd('test','111');
$redis->sadd('test','333');
$redis->sadd('test1', '222');
$redis->sadd('test1','444');
$redis->smove('test',"test1",'111');
print_r($redis->sort( 'test1'));    //結果:Array ( [0] => 111 [1] => 222 [2] => 444 )

?>


21,scontains21,scontains3檢查是否存在指定的值。
參數:key value
回傳值:true or false
範例:


$redis = new redis();
$redis->connect('127.0.0.1', 6379);
$redis->delete('test');
$redtestis->sadd('testis->sadd('test');
$redtestis->saddx ','111');
$redis->sadd('test','112');
$redis->sadd('test','113');
var_dump($redis->scontains('test ', '111')); //結果:bool(true)
?>


22,ssize


描述:傳回集合中儲存值的數量
參數:key
值:成功傳回數組組個數,失敗0
範例:


  


$redis = new redis();
$redis->connect('127.0.0.1', 6379$redis->connect('127.0.0.1', 6379$redis); test');
$redis->sadd('test','111');
$redis->sadd('test','112');
echo $redis->ssize('test');   / /結果:2
?>


23,spop

描述:隨機移除並傳回key中的一個值
參數:key
傳回值:成功傳回刪除的值,失敗false範例

 

$redis = new redis();

$redis->connect('127.0.0.1', 6379);
$redis->delete('test'); ("test","111");
$redis->sadd("test","222");
$redis->sadd("test","333");
var_dump($redis->spop ("test"));  //結果:string(3) "333"
?>



24,sinter

描述:傳回一個所有指定鍵的交集。如果只指定一個鍵,那麼這個指令產生這個集合的成員。如果不存在某個鍵,則傳回FALSE。

參數:key1, key2, keyN

回傳值:成功傳回陣列交集,失敗false

範例:


 

$redis = new redis();$redis = new redis(); ', 6379);
$redis->delete('test');
$redis->sadd("test","111");
$redis->sadd("test","222");
$redis->sadd("test","333");
$redis->sadd("test1","111");
$redis->sadd("test1","444");
var_dump( $redis->sinter("test","test1"));  //結果:array(1) { [0]=> string(3) "111" }
?>



25,sinterstore

描述:執行sInter指令並將結果儲存到新建的變數中。

參數:

Key: dstkey, the key to store the diff into.
Keys: key1, key2… keyN. key1..keyN are intersected as in sInter.
回傳值:成功傳回,交集的數,失敗false
範例:


 

$redis = new redis();

$redis->connect('127.0.0.1', 6379);
$redis-deteete($)$
->sadd("test","111");
$redis->sadd("test","222");
$redis->sadd("test","333");
$redis-> sadd("test1","111");
$redis->sadd("test1","444");
var_dump($redis->sinterstore('new',"test","test1")); //結果:int(1)
var_dump($redis->smembers('new'));  //結果:array(1) { [0]=> string(3) "111" }
?>



26,sunion

描述:

傳回一個所有指定鍵的並集

參數:
Keys: key1, key2, … , keyN
返回值:成功返回後的範例,失敗合併後的範例



$redis = new redis();
$redis->connect('127.0.0.1', 6379); $redis->delete('test'); sadd("test","111");

$redis->sadd("test","222");
$redis->sadd("test","333");
$redis->sadd( "test1","111");
$redis->sadd("test1","444");
print_r($redis->sunion("test","test1"));  //結果:Array ( [0] => 111 [1] => 222 [2] => 333 [3] => 444 )
?>





27,sunionstore


27,sunionstore




27,sunionstore


把新指令說明結果:儲存給新指令的變數中。

參數:

Key: dstkey, the key to store the diff into.

Keys: key1, key2… keyN. key1..keyN are intersected as in sInter.🎜回傳值:成功傳回,交集的數,失敗false🎜範例:🎜🎜🎜 🎜

$redis = new redis();
$redis->connect('127.0.0.1', 6379);
$redis->delete('test');
$redtestis->sadd("testis->delete('test');
$redtestis->sadd(" ","111");
$redis->sadd("test","222");
$redis->sadd("test","333");
$redis->sadd("test1", "111");
$redis->sadd("test1","444");
var_dump($redis->sinterstore('new',"test","test1"));  //結果:int( 4)
print_r($redis->smembers('new'));  //結果:Array ( [0] => 111 [1] => 222 [2] => 333 [3] => 444 )
? >


28,sdiff


描述:返回第一個集合中存在並在其他所有集合中不存在的結果
參數:Keys: key1, key2, … , keyN: Any number of keys corresponres sets in redis.
回傳值:成功傳回數組,失敗false
範例:


  


$redis = new redis();

$redis = new redis();
$redis-connect($,1790. ;
$redis->delete('test');
$redis->sadd("test","111");
$redis->sadd("test","222");
$redis-> sadd("test","333");
$redis->sadd("test1","111");

$redis->sadd("test1","444");

print_r($redis-> sdiff("test","test1"));  //結果:Array ( [0] => 222 [1] => 333 )
?>



29,sdiffstore
iffsd並將結果儲存到新建的變數中。
參數:
Key: dstkey, the key to store the diff into.
Keys: key1, key2, … , keyN: Any number of keys corresponding to sets in redis

回傳值:成功回傳數字,失敗false

 


$redis = new redis();
$redis->connect('127.0.0.1', 6379);
$redis->delete('test'); ("test","111");
$redis->sadd("test","222");
$redis->sadd("test","333");
$redis->sadd(" test1","111");
$redis->sadd("test1","444");
var_dump($redis->sdiffstore('new',"test","test1"));  //結果:int(2)
print_r($redis->smembers('new'));  //結果:Array ( [0] => 222 [1] => 333 )
?>


smembers, sgetmembers

描述:

傳回集合的內容
參數:Key: key
回傳值:An array of elements, the contents of the set.
範例:

$redis->connect('127.0.0.1', 6379);
$redis->delete('test');
$redis->sadd("test","111");
$redis-> sadd("test","222");
print_r($redis->smembers('test'));  //結果:Array ( [0] => 111 [1] => 222 )
?>


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn