這篇文章主要介紹了30個php操作redis常用方法代碼範例,本文其實不只30個方法,可以操作string類型、list類型和set類型的資料,需要的朋友可以參考下
redis的操作很多的,以前看到一個比較全的博客,但是現在找不到了。查個東西搜半天,下面整理一下php處理redis的例子,個人覺得常用一些例子。下面的例子都是基於php-redis這個擴充的。
1,connect
描述:實例連接到一個Redis.
參數:host: string,port: int
回傳值:BOOL 成功回傳:TRUE;失敗回傳:FALSE
範例:
$redis = new redis();
$result = $redis->connect('127.0.0.1', 6379);var_dump($result); //結果:bool(true)
?
2,set
描述:設定key和value的值
回傳值:BOOL 成功回傳:TRUE;失敗回傳:FALSE
範例:
? ();
$redis->connect('127.0.0.1', 6379);
$result = $redis->set('test',"11111111111");
var_dump($result); (true)
3,get
描述:取得指定鍵的值
參數: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);
var_ump; $redis->exists('test')); //結果:bool(true)
?>
7,incr
描述:數字增大鍵值鍵值鍵將會被加到鍵的值
實例:
$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)
?>
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)
?>
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)
?>
描述:由列表尾部加上字串值。如果不存在該鍵則建立該清單。如果該鍵存在,且不是一個列表,則傳回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)
?>
描述:傳回與移除清單的第一個元素
參數: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"
?>
描述:傳回的清單的長度。如果清單不存在或為空,則指令傳回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");
?>
14,lget
描述:傳回指定鍵儲存在清單中指定的元素。 0第一個元素,1第二個… -1最後一個元素,-2的倒數第二…錯誤的索引或鍵不指向列表則傳回FALSE。
參數:key index
範例:
$redis = new redis();
$redis = new redis();
$redis = new redis();
', 6379);
$redis->lpush("test","111");
$redis->lpush("test","222");
$redis->rpush("test","444");
var_dump($redis->lget("test",3)); //結果:string(3) "444"?>
$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)
?>
16,lgetrange
描述:
傳回在該區域中的指定鍵列表中開始到結束儲存的指定元素,lGetRange(key, )。 0第一個元素,1第二個元素… -1最後一個元素,-2的倒數第二…
參數:key start end
範例:
$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(" ","111");
$redis->lpush("test","222");
print_r($redis->lgetrange("test",0,-1)); //結果:Array ( [ 0] => 222 [1] => 111 )
17,lremove
描述:從清單中從頭部開始移除個符合的值。如果count為零,所有符合的元素都被刪除。如果count是負數,內容從尾部開始刪除。
參數:key count value
範例:
$redis = new redis();
$redis = new redis();
0.1', 6379);
$redis->delete('test');
$redis->lpush('test','b');
$redis->lpush('test','c');
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 )
?>
描述:為一個Key加上一個值。如果這個值已經在這個Key中,則回傳FALSE。
參數:key value
回傳值:成功回傳true,失敗false
範例:
$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->sremove('test','111');
print_r($redis->sort('test')); //結果:Array ( [0] => 333 )
20,smove
參數: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)
?>
描述:傳回集合中儲存值的數量
參數: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
參數:key1, key2, keyN
回傳值:成功傳回陣列交集,失敗false範例:
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->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 )
? >
描述:返回第一個集合中存在並在其他所有集合中不存在的結果
參數: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");
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
$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 )
?>
傳回集合的內容
參數:Key: key
回傳值:An array of elements, the contents of the set.
範例: