이 글에서 여러분께 가져온 내용은 php 조작 redis에 관한 상용 방법은 어떤 것입니까?php의 redis 조작방법 정리(코드 첨부)는 어느 정도 참고가 될 수 있으니 꼭 참고하시어 도움이 되시기 바랍니다.
배경: 레디스라는 신제품은 sns에서 인기가 많았지만, memcache는 오래전부터 존재했지만, 레디스 기능이 제공되어 많은 사이트에서 memcache로 사용하고 있습니다. 이것은 큰 용도의 작은 사용입니다. 여기에는 30가지 방법이 있습니다.레디스, 알 만하다.
이 글은 주로 30개의 php 운영 redis 상용 방법 코드 예를 소개하는데, 이 글은 사실 30개의 방법이 아니라 string 유형, list 유형, set 유형의 데이터를 운영할 수 있으며, 필요한 친구는 아래를 참고하면 된다.
레디스는 조작이 많아 예전엔 제대로 된 블로그를 보았지만 지금은 찾을 수 없다.한참 동안 물건을 뒤지고 php가 레디스를 처리한 사례를 정리해 보면 개인적으로 많이 쓰이는 예라고 생각한다.다음 예들은 모두 php-r을 기반으로 한다.에디스 확장입니다.
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
예:
<?php
$redis = new redis();
$redis->connect('127.0.0.1', 6379);
$result = $redis->set('test',"11111111111");
var_dump($result); //열매를 맺다:bool(true)
?>
3.get
설명: 지정한 키의 값을 가져옵니다
인자: key
값 되돌리기: string이나 BOOL 키가 있으면존재하지 않으면 FALSE를 반환합니다.그렇지 않으면 지정한 키에 해당하는 value 값을 반환합니다.
예:
<?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
설명: 데이터에서라이브러리에 이 키가 없습니다. 키 매개 변수를 설정합니다.
인자: key value
값 되돌리기: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. exists
설명: 지정한 키 확인존재 여부
매개 변수 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 value: 키에 추가할 값
값 되돌리기: INT the new value
예:
<?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
설명: 숫자 디스카운트 메모리 키 값입니다.
인자: key value: 키에 추가할값
값 되돌리기: INT the new valuE
예:
<?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
설명: 지정한 모든 키의 값을 가져옵니다.만약 하나 이상의 키가 존재하지 않는다면 배열의 값은 거짓입니다
인자: 키 값이 들어 있는 배열 목록
값 되돌리기: 모든 키를 포함하는 값을 되돌립니다배열
예:
<?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를 반환합니다.
인자: key,value
값 되돌리기: 성공적으로 되돌리기팀장도, 실패 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)
?>
설명: 목록 끝에서 추가문자열 값을 추가합니다. 키가 존재하지 않으면 목록을 만듭니다.이 키가 있고 목록이 아닌 경우 FALSE를 반환합니다.
인자: key,value
값 되돌리기: 성공적으로 되돌리기팀장도, 실패 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
값 되돌리기: 성공적으로 되돌리기첫 번째 요소의 값, fals 반환 실패E
예:
<?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, len
설명: 반환된 목록의 길이입니다.목록이 없거나 비어 있으면 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로 돌아갑니다.
인자: key index
값 되돌리기: 성공적으로 되돌리기요소 값 지정, 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를 반환하는 색인에 새 값을 부여한다.
인자: key index value
값 되돌리기: 성공적으로 되돌리기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의 끝에서 두 번째…
인자: key start end
값 되돌리기: 찾은 값을 되돌려줍니다.실패 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개 일치 값을 제거합니다.count가 0이면 일치하는 모든 요소가 삭제됩니다.count가 음수일 경우 내용은 뒷부분부터 삭제한다.
인자: key countvalue
값 되돌리기: 삭제한 것을 되돌려줍니다개수, 실패 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
설명: 하나의 Key 값을 추가합니다. 이 값이 이미 Key에 있다면 FALSE를 반환합니다.
인자: key value
값 되돌리기: 성공적으로 되돌리기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,스무브
설명: Key1에서Key2로 value 이동
인자: 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
값 되돌리기: 성공적으로 되돌리기삭제한 값, 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, thekey to store the diffinto.
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, thekey to store the diffinto.
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
값 되돌리기: Anarray 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' 카테고리의 다른 글
phpset_error_handler() 중요 사용법 (0) | 2022.07.26 |
---|---|
PHP 배열 필터 null 값 array_filter (0) | 2022.07.26 |
php와 ajax는 어떻게 표의 실시간 편집이 가능합니까(코드 첨부) (0) | 2022.07.25 |
Thinkphp 업로드 클래스 이미지 업로드를 위한 코드 (0) | 2022.07.25 |
php 구현은 혼합 인증 코드와 이미지 인증 코드를 생성하고 테스트한다(코드) (0) | 2022.07.25 |