이 기사에서 제공하는 내용은 PHP에서 Redis를 운영하는 일반적인 방법은 무엇입니까? PHP에서 Redis를 작동하는 방법에 대한 요약(코드 포함)은 특정 참고 가치가 있습니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.
배경: Redis는 SNS에서 큰 인기를 얻고 있는 새로운 제품으로 Memcache는 오래전부터 존재했지만 많은 웹사이트에서 Redis가 제공하는 기능을 Memcache로 사용하고 있습니다. 그것을 사용하면 redis를 알 가치가 있습니다.
이 글에서는 주로 PHP에서 Redis를 운영하는 일반적인 메소드 30개를 소개합니다. 실제로는 스트링 타입, 리스트 타입, 세트 타입 데이터를 조작할 수 있는 메소드가 30개 이상 있습니다.
많이 있습니다. redis 운영 이전에 비교적 포괄적인 블로그를 본 적이 있는데 지금은 찾을 수 없습니다. 오랫동안 검색한 결과, 개인적으로 일반적으로 사용되는 몇 가지 예가 있다고 생각하여 PHP 처리 Redis의 몇 가지 예를 요약하겠습니다. 다음 예제는 모두 php-redis 확장을 기반으로 합니다.
1, connect
설명: 인스턴스가 Redis에 연결되었습니다.
매개변수: 호스트: 문자열, 포트: int
반환 값: BOOL 성공 반환: TRUE; 실패 반환: FALSE
예:
<?php $redis = new redis(); $result = $redis->connect('127.0.0.1', 6379); var_dump($result); //结果:bool(true) ?>
2, set
설명: 키 및 value
값을 설정합니다. 매개변수: Key Value
반환 값: BOOL 성공적인 반환: TRUE; 실패 반환: FALSE
예:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $result = $redis->set('test',"11111111111"); var_dump($result); //结果:bool(true) ?>
3, get
설명: 지정된 키의 값을 가져옵니다
Parameter : key
반환 값: 문자열 또는 BOOL 키가 존재하지 않으면 FALSE를 반환합니다. 그렇지 않으면 지정된 키에 해당하는 값을 반환합니다.
예:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $result = $redis->get('test'); var_dump($result); //结果:string(11) "11111111111" ?>
4, delete
설명: 지정된 키를 삭제합니다.
매개변수: 키 또는 결정되지 않은 수의 매개변수, 각 키에 대한 배열: key1 key2 key3...keyN
반환값: 숫자 삭제된 항목 중
예:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->set('test',"1111111111111"); echo $redis->get('test'); //结果:1111111111111 $redis->delete('test'); var_dump($redis->get('test')); //结果:bool(false) ?>
5, setnx
설명: 데이터베이스에 키가 없으면 키 값 매개변수를 설정하세요.
매개변수: 키 값
반환 값: BOOL 성공 반환: TRUE, 실패 반환: FALSE
예:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->set('test',"1111111111111"); $redis->setnx('test',"22222222"); echo $redis->get('test'); //结果:1111111111111 $redis->delete('test'); $redis->setnx('test',"22222222"); echo $redis->get('test'); //结果:22222222 ?>
6, presents
설명: 지정된 키가 존재하는지 확인
매개변수 key
반환 값: Bool 성공 반환: TRUE; 실패 반환: FALSE
예:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->set('test',"1111111111111"); var_dump($redis->exists('test')); //结果:bool(true) ?>
7, incr
설명: 디지털 증분 저장 키 값 key .
매개변수: 키 값: 키에 추가될 값
반환 값: 새 값 INT
예:
<?php $redis = new redis(); $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
설명: 키 값을 숫자 감소로 저장합니다.
매개변수: 키 값: 키에 추가될 값
반환 값: 새 값 INT
인스턴스:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->set('test',"123"); var_dump($redis->decr("test")); //结果:int(122) var_dump($redis->decr("test")); //结果:int(121) ?>
9, getMultiple
Description: 지정된 모든 키의 값을 가져옵니다. 하나 이상의 키가 존재하지 않으면 배열에 있는 해당 키의 값은 false입니다.
매개변수: 키의 값을 포함하는 목록의 배열
반환 값: 모든 키의 값을 포함하는 배열을 반환합니다.
예 :
<?php $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를 반환합니다.
매개변수: 키, 값
반환값: 성공 시 배열 길이를 반환하고, 실패 시 false를 반환합니다.
인스턴스:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('test'); var_dump($redis->lpush("test","111")); //结果:int(1) var_dump($redis->lpush("test","222")); //结果:int(2) ?>
11, rpush
설명: 목록 끝에서 문자열 값을 추가합니다. 키가 존재하지 않는 경우 목록을 생성하십시오. 키가 존재하지만 목록이 아닌 경우 FALSE를 반환합니다.
매개변수: 키, 값
반환 값: 성공 시 배열 길이를 반환하고 실패 시 false를 반환합니다.
예:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 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를 반환합니다.
예:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 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를 반환합니다.
예:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $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를 반환합니다.
매개변수: 키 인덱스
반환 값: 지정된 요소의 값을 성공적으로 반환하고, 실패하면 false를 반환합니다.
예:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 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를 반환합니다.
예:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('test'); $redis->lpush("test","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, start, end). 첫 번째 요소는 0, 두 번째 요소는 1... 마지막 요소는 -1, 끝에서 두 번째 요소는 -2...
매개변수: 키 시작 끝
반환 값: 찾은 값을 성공적으로 반환하고 실패는 false
예:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('test'); $redis->lpush("test","111"); $redis->lpush("test","222"); print_r($redis->lgetrange("test",0,-1)); //结果:Array ( [0] => 222 [1] => 111 ) ?>
17,lremove
설명: 헤드부터 시작하여 목록에서 일치하는 개수의 값을 제거합니다. count가 0이면 일치하는 모든 요소가 제거됩니다. count가 음수이면 내용이 끝부터 삭제됩니다.
매개변수: 키 개수 값
반환 값: 성공하면 삭제된 항목 수를 반환하고, 실패하면 false를 반환합니다.
예:
<?php $redis = new redis(); $redis->connect('127.0.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
설명: 키에 값을 추가합니다. 이 값이 이미 이 키에 있으면 FALSE를 반환합니다.
매개변수: 키 값
반환 값: 성공 시 true, 실패 시 false
예:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $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
范例:
<?php $redis = 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中
参数:srcKey dstKey member
返回值:true or false
范例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('test'); $redis->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,scontains
描述:检查集合中是否存在指定的值。
参数:key value
返回值:true or false
范例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('test'); $redis->sadd('test','111'); $redis->sadd('test','112'); $redis->sadd('test','113'); var_dump($redis->scontains('test', '111')); //结果:bool(true) ?>
22,ssize
描述:返回集合中存储值的数量
参数:key
返回值:成功返回数组个数,失败0
范例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('test'); $redis->sadd('test','111'); $redis->sadd('test','112'); echo $redis->ssize('test'); //结果:2 ?>
23,spop
描述:随机移除并返回key中的一个值
参数:key
返回值:成功返回删除的值,失败false
范例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->delete('test'); $redis->sadd("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
范例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 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
范例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 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->sinterstore('new',"test","test1")); //结果:int(1) var_dump($redis->smembers('new')); //结果:array(1) { [0]=> string(3) "111" } ?>
26,sunion
描述:
返回一个所有指定键的并集
参数:
Keys: key1, key2, … , keyN
返回值:成功返回合并后的集,失败false
范例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $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->sunion("test","test1")); //结果:Array ( [0] => 111 [1] => 222 [2] => 333 [3] => 444 ) ?>
27,sunionstore
描述:执行sunion命令并把结果储存到新建的变量中。
参数:
Key: dstkey, the key to store the diff into.
Keys: key1, key2… keyN. key1..keyN are intersected as in sInter.
返回值:成功返回,交集的个数,失败false
范例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 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->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 corresponding to sets in redis.
返回值:成功返回数组,失败false
范例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $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
描述:执行sdiff命令并把结果储存到新建的变量中。
参数:
Key: dstkey, the key to store the diff into.
Keys: key1, key2, … , keyN: Any number of keys corresponding to sets in redis
返回值:成功返回数字,失败false
范例:
<?php $redis = new redis(); $redis->connect('127.0.0.1', 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->sdiffstore('new',"test","test1")); //结果:int(2) print_r($redis->smembers('new')); //结果:Array ( [0] => 222 [1] => 333 ) ?>
30,smembers, sgetmembers
描述:
返回集合的内容
参数:Key: key
返回值:An array of elements, the contents of the set.
范例:
<?php $redis = new redis(); $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 ) ?>
php-redis当中,有很多不同名字,但是功能一样的函数,例如:lrem和lremove,这里就不例举
相关推荐:
위 내용은 PHP에서 Redis를 작동하는 일반적인 방법은 무엇입니까? PHP에서 Redis를 작동하는 방법 요약(코드 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!