> 类库下载 > PHP类库 > 본문

컬렉션 유형 설정

高洛峰
풀어 주다: 2016-10-20 14:31:46
원래의
5363명이 탐색했습니다.

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 &#39;item&#39; (length=4)
  1 => string &#39;item2&#39; (length=5)
  2 => string &#39;item3&#39; (length=5)
로그인 후 복사
아래에서는 sismember 명령을 사용하여 컬렉션에 요소가 있는지 확인합니다. 이는 별명이 이미 있는지 확인할 때 매우 유용합니다.

$redis->sismember(&#39;set-key&#39;,&#39;item&#39;); //该元素存在集合中,则为 boolean true,反之boolean false
로그인 후 복사
마지막으로 요소를 삭제합니다. 처음 삭제된 항목이고 해당 요소가 컬렉션에 존재하는 경우 삭제된 항목 개수가 1개 반환됩니다.

$redis->srem(&#39;set-key&#39;,&#39;item&#39;); // int 1
로그인 후 복사
이때 삭제 명령을 실행합니다. 요소가 더 이상 컬렉션에 존재하지 않으므로 Return 0이 삭제되었습니다.

$redis->srem(&#39;set-key&#39;,&#39;item&#39;); // int 0
로그인 후 복사


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