3. 집합 컬렉션 유형
소개
집합 컬렉션과 목록은 매우 유사하며 여러 문자열을 저장할 수 있습니다. 그러나 목록은 중복된 값을 저장할 수 있지만 집합을 반복할 수는 없습니다.
설정 구조
여기서 user는 키 이름이며, 각각 다른 여러 개의 비반복 요소를 포함할 수 있습니다.
[ "user":[ "yanying1", "yanying2", "yanying3" ] ]
작업 방법
데모(명령줄 + PHP 데모)
명령줄:
컬렉션에 요소를 추가하고, 삽입에 성공하려면 1을 반환합니다. 이미 존재함
sadd set-key item // 返回 1
마찬가지로 컬렉션에 요소를 추가합니다
sadd set-key item2 // 返回1,表示插入成功,集合内没有该元, sadd set-key item3 // 返回 1sadd set-key item // 返回0,表示插入失败,集合内已经存在
추가한 후 컬렉션의 모든 요소를 가져오고 모든 요소를 성공적으로 반환합니다
smembers set-key // 得到结果:'item','item2','item3',由于元素不能重复,所以最后一个item不存在集合中
이 컬렉션의 중요한 기능은 아래에 소개되어 있습니다. sismember 명령을 사용하여 해당 요소가 컬렉션에 있는지 확인하면 1을 반환하고, 존재하지 않으면 0을 반환합니다.
sismember set-key item4 // 由于item4不在集合中,所以返回 0 sismember set-key item // item元素是存在于集合中的,返回1;同理item2,item3也是会返回1
다음으로 요소 삭제를 시도합니다. 삭제가 성공하면 삭제된 요소의 개수가 반환됩니다.
srem set-key item //删除成功,返回删除个数:1 srem set-key item // item之前已经被删除,所以删除失败,返回个数0。这里不是表示true or false
모든 요소를 다시 확인해보니 item2와 item3만 남아 있는 것으로 나타났습니다
smembers set-key // 返回'item2','item3'
PHP 버전 데모
1단계, Redis 데이터베이스 연결
$redis = new Redis(); $redis->connect('127.0.0.1', 6379);
먼저 요소 항목을 키 설정 컬렉션에 삽입합니다. 1은 성공적인 삽입을 나타내고, 0 요소는 이미 존재함을 나타냅니다
$redis->sadd('set-key','item'); // 添加成功,返回1
다음으로 항목을 키 설정 컬렉션에 다시 추가하고 해당 항목이 이미 존재함을 확인하고 0
$redis->sadd('set-key','item'); // 集合中已经存在item,添加失败,返回0
이 반환됩니다. 다음 데모에서는 여러 요소
$redis->sadd('set-key','item2'); $redis->sadd('set-key','item3');
를 추가합니다. 이제 컬렉션에 3개의 요소를 사용하여
$r = $redis->smembers('set-key'); var_dump($r);인쇄 후 item2, item3을 포함하는 배열을 얻습니다.
array (size=3) 0 => string 'item' (length=4) 1 => string 'item2' (length=5) 2 => string 'item3' (length=5)아래에서는 sismember 명령을 사용하여 컬렉션에 요소가 있는지 확인합니다. 이는 별명이 이미 있는지 확인할 때 매우 유용합니다.
$redis->sismember('set-key','item'); //该元素存在集合中,则为 boolean true,反之boolean false마지막으로 요소를 삭제합니다. 처음 삭제된 항목이고 해당 요소가 컬렉션에 존재하는 경우 삭제된 항목 개수가 1개 반환됩니다.
$redis->srem('set-key','item'); // int 1이때 삭제 명령을 실행합니다. 요소가 더 이상 컬렉션에 존재하지 않으므로 Return 0이 삭제되었습니다.
$redis->srem('set-key','item'); // int 0