PHP에서 Redis를 작동하는 일반적인 방법 요약

黄舟
풀어 주다: 2023-03-15 20:02:01
원래의
2305명이 탐색했습니다.

이 글에서는 주로 PHP에서 Redis를 운영하는 일반적인 메소드 30개를 소개하고 있는데, 실제로는 스트링 타입, 리스트 타입, 세트 타입 데이터를 운용할 수 있는 메소드가 30개 이상 있습니다. 예, 이전에 비교적 포괄적인 블로그를 보았는데 지금은 찾을 수 없습니다. 오랫동안 검색한 결과, 개인적으로 일반적으로 사용되는 몇 가지 예가 있다고 생각하여 PHP 처리 Redis의 몇 가지 예를 요약하겠습니다. 다음 예제는 모두 php-redis 확장을 기반으로 합니다.

1, connect

설명: 인스턴스가 Redis에 연결되었습니다.

매개변수:

반환 값: BOOL 성공적인 반환: TRUE, 실패 반환: FALSE
host: string,port: int예:

 connect('127.0.0.1', 6379); 
var_dump($result); //结果:bool(true) 
?>
로그인 후 복사

2, set

설명: Set key 및 value of value

매개변수: 키 값

반환 값: BOOL 성공적인 반환: TRUE, 실패 반환: FALSE

예:

 connect('127.0.0.1', 6379); 
$result = $redis->set('test',"11111111111"); 
var_dump($result);    //结果:bool(true) ?>
로그인 후 복사

3, get

설명: 지정된 키에 대한 값 가져오기

매개 변수: key

Return 값: 문자열 또는 키가 존재하지 않는 경우 BOOL은 FALSE를 반환합니다. 그렇지 않으면 지정된 키에 해당하는 값을 반환합니다.

예:

 connect('127.0.0.1', 6379); 
$result = $redis->get('test'); 
var_dump($result);   //结果:string(11) "11111111111" ?>
로그인 후 복사

4, delete

설명: 지정된 키를 삭제합니다.

매개변수: 키 또는 지정되지 않은 개수의 매개변수, 각 키에 대한 배열: key1 key2 key3 ... keyN

반환값: 키의 개수 삭제된 항목

예:

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


예:

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

설명: 지정된 키가 존재하는지 확인

매개변수 키

반환 값: Bool 성공 반환: TRUE; 실패 반환: FALSE

예:

connect('127.0.0.1', 6379); 
$redis->set('test',"1111111111111"); 
var_dump($redis->exists('test'));  //结果:bool(true) ?>
로그인 후 복사

7, incr

설명: 숫자 증분 저장 키 값 key

매개변수: 키 값: 키에 추가될 값

반환 값: 새 값 INT

예:

<p style="margin-bottom: 7px;">connect(&#39;127.0.0.1&#39;, 6379); <br/>$redis->set(&#39;test&#39;,"123"); <br/>var_dump($redis->incr("test"));  //结果:int(124) var_dump($redis->incr("test"));  //结果:int(125) ?><br/></p>
로그인 후 복사

8, decr

설명: 키 값을 숫자 감소로 저장합니다.

매개변수: 키 값: 키에 추가될 값

반환 값: 새 값 INT

인스턴스:

connect(&#39;127.0.0.1&#39;, 6379); 
$redis->set(&#39;test&#39;,"123"); 
var_dump($redis->decr("test"));  //结果:int(122) var_dump($redis->decr("test"));  //结果:int(121) ?>
로그인 후 복사

9, getMultiple

설명: 지정된 모든 키의 값을 가져옵니다. 하나 이상의 키가 존재하지 않으면 배열에 있는 해당 키의 값은 false입니다.

매개변수: 키의 값을 포함하는 목록의 배열

반환 값: 모든 키의 값을 포함하는 배열을 반환합니다.

예 :

connect(&#39;127.0.0.1&#39;, 6379); 
$redis->set(&#39;test1&#39;,"1"); 
$redis->set(&#39;test2&#39;,"2"); 
$result = $redis->getMultiple(array(&#39;test1&#39;,&#39;test2&#39;)); 
print_r($result);   //结果:Array ( [0] => 1 [1] => 2 ) ?>
로그인 후 복사

10, lpush

설명: 목록의 선두부터 문자열 값을 추가합니다. 키가 존재하지 않는 경우 목록을 생성하십시오. 키가 존재하지만 목록이 아닌 경우 FALSE를 반환합니다.

매개변수: 키, 값

반환 값: 성공 시 배열 길이를 반환하고 실패 시 false를 반환합니다.

예:

connect(&#39;127.0.0.1&#39;, 6379); 
$redis->delete(&#39;test&#39;); 
var_dump($redis->lpush("test","111"));   //结果:int(1) var_dump($redis->lpush("test","222"));   //结果:int(2) ?>
로그인 후 복사

11, rpush

설명: 목록 끝에서 문자열 값을 추가합니다. 키가 존재하지 않는 경우 목록을 생성하십시오. 키가 존재하지만 목록이 아닌 경우 FALSE를 반환합니다.

매개변수: 키, 값

반환 값: 성공 시 배열 길이 반환, 실패 시 false

예:

connect(&#39;127.0.0.1&#39;, 6379); 
$redis->delete(&#39;test&#39;); 
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

설명: 목록의 첫 번째 요소를 반환하고 제거

매개 변수: 키

반환 값: 성공적으로 반환 첫 번째 요소의 값, 실패 시 false를 반환합니다.

예:

connect(&#39;127.0.0.1&#39;, 6379); 
$redis->delete(&#39;test&#39;); 
$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를 반환합니다.

매개변수: 키

반환 값: 성공 시 배열 길이를 반환하고 실패 시 false를 반환합니다.

예:

connect(&#39;127.0.0.1&#39;, 6379); 
$redis->delete(&#39;test&#39;); 
$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를 반환합니다.

예:

connect(&#39;127.0.0.1&#39;, 6379); 
$redis->delete(&#39;test&#39;); 
$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를 반환합니다.

예:

connect(&#39;127.0.0.1&#39;, 6379); 
$redis->delete(&#39;test&#39;); 
$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
예:

 connect(&#39;127.0.0.1&#39;, 6379); 
$redis->delete(&#39;test&#39;); 
$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를 반환합니다.

예:

connect(&#39;127.0.0.1&#39;, 6379); 
$redis->delete(&#39;test&#39;); 
$redis->lpush(&#39;test&#39;,&#39;a&#39;); 
$redis->lpush(&#39;test&#39;,&#39;b&#39;); 
$redis->lpush(&#39;test&#39;,&#39;c&#39;); 
$redis->rpush(&#39;test&#39;,&#39;a&#39;); 
print_r($redis->lgetrange(&#39;test&#39;, 0, -1)); //结果:Array ( [0] => c [1] => b [2] => a [3] => a ) var_dump($redis->lremove(&#39;test&#39;,&#39;a&#39;,2));   //结果:int(2) print_r($redis->lgetrange(&#39;test&#39;, 0, -1)); //结果:Array ( [0] => c [1] => b ) ?>
로그인 후 복사

18, sadd

설명: 키에 값을 추가합니다. 이 값이 이미 이 키에 있으면 FALSE를 반환합니다.

파라미터: 키 값

반환 값: 성공 시 true 반환, 실패 시 false 반환

예:

connect(&#39;127.0.0.1&#39;, 6379); 
$redis->delete(&#39;test&#39;); 
var_dump($redis->sadd(&#39;test&#39;,&#39;111&#39;));   //结果:bool(true) var_dump($redis->sadd(&#39;test&#39;,&#39;333&#39;));   //结果:bool(true) print_r($redis->sort(&#39;test&#39;)); //结果:Array ( [0] => 111 [1] => 333 ) ?>
로그인 후 복사

19, sremove

설명: 키에 지정된 값 삭제

파라미터: 키 멤버

반환 값: true 또는 false

예제 :

connect(&#39;127.0.0.1&#39;, 6379); 
$redis->delete(&#39;test&#39;); 
$redis->sadd(&#39;test&#39;,&#39;111&#39;); 
$redis->sadd(&#39;test&#39;,&#39;333&#39;); 
$redis->sremove(&#39;test&#39;,&#39;111&#39;); 
print_r($redis->sort(&#39;test&#39;));    //结果:Array ( [0] => 333 ) ?>
로그인 후 복사

20,smove

설명: Key1의 값을 Key2로 이동합니다.

매개변수: srcKey dstKey 멤버

반환 값: true 또는 false

예제

connect(&#39;127.0.0.1&#39;, 6379); 
$redis->delete(&#39;test&#39;); 
$redis->delete(&#39;test1&#39;); 
$redis->sadd(&#39;test&#39;,&#39;111&#39;); 
$redis->sadd(&#39;test&#39;,&#39;333&#39;); 
$redis->sadd(&#39;test1&#39;,&#39;222&#39;); 
$redis->sadd(&#39;test1&#39;,&#39;444&#39;); 
$redis->smove(&#39;test&#39;,"test1",&#39;111&#39;); 
print_r($redis->sort(&#39;test1&#39;));    //结果:Array ( [0] => 111 [1] => 222 [2] => 444 ) ?>
로그인 후 복사

21,scontains

描述:检查集合中是否存在指定的值。
参数:key value
返回值:true or false
范例:

connect(&#39;127.0.0.1&#39;, 6379); 
$redis->delete(&#39;test&#39;); 
$redis->sadd(&#39;test&#39;,&#39;111&#39;); 
$redis->sadd(&#39;test&#39;,&#39;112&#39;); 
$redis->sadd(&#39;test&#39;,&#39;113&#39;); 
var_dump($redis->scontains(&#39;test&#39;, &#39;111&#39;)); //结果:bool(true) ?>
로그인 후 복사

22,ssize

描述:返回集合中存储值的数量
参数:key
返回值:成功返回数组个数,失败0
范例:

connect(&#39;127.0.0.1&#39;, 6379); 
$redis->delete(&#39;test&#39;); 
$redis->sadd(&#39;test&#39;,&#39;111&#39;); 
$redis->sadd(&#39;test&#39;,&#39;112&#39;); 
echo $redis->ssize(&#39;test&#39;);   //结果:2 ?>
로그인 후 복사

23,spop

描述:随机移除并返回key中的一个值
参数:key
返回值:成功返回删除的值,失败false
范例:

connect(&#39;127.0.0.1&#39;, 6379); 
$redis->delete(&#39;test&#39;); 
$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
范例:

connect(&#39;127.0.0.1&#39;, 6379); 
$redis->delete(&#39;test&#39;); 
$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
范例:

connect(&#39;127.0.0.1&#39;, 6379); 
$redis->delete(&#39;test&#39;); 
$redis->sadd("test","111"); 
$redis->sadd("test","222"); 
$redis->sadd("test","333"); 
$redis->sadd("test1","111"); 
$redis->sadd("test1","444"); 
var_dump($redis->sinterstore(&#39;new&#39;,"test","test1"));  //结果:int(1) var_dump($redis->smembers(&#39;new&#39;));  //结果:array(1) { [0]=> string(3) "111" } ?>
로그인 후 복사

26,sunion

描述:
返回一个所有指定键的并集
参数:
Keys: key1, key2, … , keyN
返回值:成功返回合并后的集,失败false
范例:

connect(&#39;127.0.0.1&#39;, 6379); 
$redis->delete(&#39;test&#39;); 
$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
范例:

connect(&#39;127.0.0.1&#39;, 6379); 
$redis->delete(&#39;test&#39;); 
$redis->sadd("test","111"); 
$redis->sadd("test","222"); 
$redis->sadd("test","333"); 
$redis->sadd("test1","111"); 
$redis->sadd("test1","444"); 
var_dump($redis->sinterstore(&#39;new&#39;,"test","test1"));  //结果:int(4) print_r($redis->smembers(&#39;new&#39;));  //结果: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
范例:

connect(&#39;127.0.0.1&#39;, 6379); 
$redis->delete(&#39;test&#39;); 
$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
范例:

connect(&#39;127.0.0.1&#39;, 6379); 
$redis->delete(&#39;test&#39;); 
$redis->sadd("test","111"); 
$redis->sadd("test","222"); 
$redis->sadd("test","333"); 
$redis->sadd("test1","111"); 
$redis->sadd("test1","444"); 
var_dump($redis->sdiffstore(&#39;new&#39;,"test","test1"));  //结果:int(2) print_r($redis->smembers(&#39;new&#39;));  //结果:Array ( [0] => 222 [1] => 333 ) ?>
로그인 후 복사

30,smembers, sgetmembers

描述:
返回集合的内容
参数:Key: key
返回值:An array of elements, the contents of the set.
范例:

connect(&#39;127.0.0.1&#39;, 6379); 
$redis->delete(&#39;test&#39;); 
$redis->sadd("test","111"); 
$redis->sadd("test","222"); 
print_r($redis->smembers(&#39;test&#39;));  //结果:Array ( [0] => 111 [1] => 222 ) ?>
로그인 후 복사

위 내용은 PHP에서 Redis를 작동하는 일반적인 방법 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿