>  기사  >  백엔드 개발  >  Redis 캐시를 사용하는 방법

Redis 캐시를 사용하는 방법

尚
앞으로
2019-06-29 10:24:084740검색

Redis 캐시를 사용하는 방법

Redis 캐싱 기술은 일반적으로 자주 쿼리되고 자주 변경되지 않는 일부 데이터에 사용됩니다. 데이터베이스에서 쿼리하여 Redis 캐시에 저장할 수 있습니다. (Redis 캐시는 메모리에 저장되며 오랫동안 유지 관리될 수 있습니다.) 오랜 시간 동안), 사용자가 액세스하면 직접 읽을 수 있습니다. 실제 프로젝트에서는 데이터베이스 데이터 배열이 일반적으로 json 문자열로 변환됩니다. set 메소드는 이를 저장하는 데 사용되고 get 메소드는 이를 얻는 데 사용됩니다. Redis를 사용하는 몇 가지 방법은 다음과 같습니다.

$redis = new redis(); 
$result = $redis->connect('127.0.0.1', 6379);
//$redis->auth('pt#1234@re'); //存在密码时链接
var_dump($result); //结果:bool(true) 
$redis->set('name',111);
$redis->lpush('value',111);
$redis->expire('name',10);//设置过期时间,不设置过去时间时,默认为永久保持
//$redis->expire('value',10);//不设置时,默认为-1,永久保持

1, connect
설명: 인스턴스가 Redis에 연결되었습니다.
매개변수: 호스트: 문자열, 포트: int
반환 값: BOOL 성공적인 반환: TRUE; 실패 반환: FALSE
예:

<?php  
$redis = new redis();  
$result = $redis->connect(&#39;127.0.0.1&#39;, 6379);  
var_dump($result); //结果:bool(true)  
?>

2, set
설명: 키와 값
의 값을 설정합니다. 매개변수: Key Value
반환 값: BOOL 성공 반환: TRUE; 실패 반환: FALSE
예:

<?php  
$redis = new redis();  
$redis->connect(&#39;127.0.0.1&#39;, 6379);  
$result = $redis->set(&#39;test&#39;,"11111111111");  
var_dump($result);    //结果:bool(true)  
?>

3, get
설명: 지정된 키의 값을 가져옵니다.
매개변수: key
반환값: 문자열 또는 BOOL 키가 없으면 FALSE를 반환합니다. 그렇지 않으면 지정된 키에 해당하는 값을 반환합니다.
예:

<?php  
$redis = new redis();  
$redis->connect(&#39;127.0.0.1&#39;, 6379);  
$result = $redis->get(&#39;test&#39;);  
var_dump($result);   //结果:string(11) "11111111111"  
?>

4, delete
설명: 지정된 키를 삭제합니다.
매개변수: 키 또는 결정되지 않은 개수의 매개변수, 각 키에 대한 배열: key1 key2 key3...keyN
반환값: 키의 개수 삭제된 항목
예:

<?php  
$redis = new redis();  
$redis->connect(&#39;127.0.0.1&#39;, 6379);  
$redis->set(&#39;test&#39;,"1111111111111");  
echo $redis->get(&#39;test&#39;);   //结果:1111111111111  
$redis->delete(&#39;test&#39;);  
var_dump($redis->get(&#39;test&#39;));  //结果:bool(false)  
?>

5, setnx
설명: 키가 데이터베이스에 없으면 키 값 매개변수를 설정합니다.
매개변수: 키 값
반환 값: BOOL 성공 반환: TRUE 실패 반환: FALSE
예:

<?php  
$redis = new redis();  
$redis->connect(&#39;127.0.0.1&#39;, 6379);  
$redis->set(&#39;test&#39;,"1111111111111");  
$redis->setnx(&#39;test&#39;,"22222222");  
echo $redis->get(&#39;test&#39;);  //结果:1111111111111  
$redis->delete(&#39;test&#39;);  
$redis->setnx(&#39;test&#39;,"22222222");  
echo $redis->get(&#39;test&#39;);  //结果:22222222  
?>

6, presents
설명: 지정된 키가 존재하는지 확인
매개변수 키
반환 값: Bool 성공 반환: TRUE; 실패 반환: FALSE
예:

<?php  
$redis = new redis();  
$redis->connect(&#39;127.0.0.1&#39;, 6379);  
$redis->set(&#39;test&#39;,"1111111111111");  
var_dump($redis->exists(&#39;test&#39;));  //结果:bool(true)  
?>

7, incr
설명: 저장 키 value 키(숫자 증분)
매개변수: 키 값: 키에 추가될 값
반환 값: INT 새 값
예:

<?php  
$redis = new redis();  
$redis->connect(&#39;127.0.0.1&#39;, 6379);  
$redis->set(&#39;test&#39;,"123");  
var_dump($redis->incr("test"));  //结果:int(124)  
var_dump($redis->incr("test"));  //结果:int(125)  
?>

8, decr
설명: 키 값을 숫자 감소로 저장합니다.
매개변수: 키 값: 키에 추가될 값
반환 값: 새 값 INT
인스턴스:

<?php  
$redis = new redis();  
$redis->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
Description: 지정된 모든 키의 값을 가져옵니다. 하나 이상의 키가 존재하지 않으면 배열에 있는 해당 키의 값은 false입니다.
매개변수: 키의 값을 포함하는 목록의 배열
반환 값: 모든 키의 값을 포함하는 배열을 반환합니다.
예 :

<?php  
$redis = new redis();  
$redis->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를 반환합니다.
인스턴스:

<?php  
$redis = new redis();  
$redis->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
예:

<?php  
$redis = new redis();  
$redis->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
설명: 목록의 첫 번째 요소를 반환하고 제거
파라미터: key
반환 값: 성공적으로 반환 첫 번째 요소의 값, 실패 시 false를 반환합니다.
예:

<?php  
$redis = new redis();  
$redis->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를 반환합니다.
매개변수: Key
반환 값: 성공 시 배열 길이를 반환하고, 실패 시 false를 반환합니다.
예:

<?php  
$redis = new redis();  
$redis->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를 반환합니다.
예:

<?php  
$redis = new redis();  
$redis->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를 반환합니다.
예:

<?php  
$redis = new redis();  
$redis->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
예:

<?php  
$redis = new redis();  
$redis->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를 반환합니다.
예:

<?php  
$redis = new redis();  
$redis->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 반환
예:

<?php  
$redis = new redis();  
$redis->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
설명: Key
에 지정된 값 삭제
파라미터: 키 멤버
반환 값: true 또는 false
예제 :

<?php  
$redis = new redis();  
$redis->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 member
반환 값: true 또는 false
Example

🎜
<?php  
$redis = new redis();  
$redis->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
范例:

<?php  
$redis = new redis();  
$redis->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
范例:

<?php  
$redis = new redis();  
$redis->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
范例:

<?php  
$redis = new redis();  
$redis->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
范例:

<?php  
$redis = new redis();  
$redis->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
范例:

<?php  
$redis = new redis();  
$redis->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
范例:

<?php  
$redis = new redis();  
$redis->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
范例:

<?php  
$redis = new redis();  
$redis->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
范例:

<?php  
$redis = new redis();  
$redis->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
范例:

<?php  
$redis = new redis();  
$redis->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.
范例:

<?php  
$redis = new redis();  
$redis->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 )  
?>

更多Redis相关知识,请访问Redis使用教程栏目!

위 내용은 Redis 캐시를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 cnblogs.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제