SADD

레디스 개발자 교육 신청 레디스 정기점검/기술지원
Redis Technical Support
레디스 엔터프라이즈 서버
Redis Enterprise Server

집합에 데이터를 추가

사용법은 sadd key member 이다.
member를 여러 개 지정할 수 있다.

Example

명령>sadd myset "멤버_1"
결과>1
명령>sadd myset "멤버_2" "멤버_3" "멤버_4"
결과>3   추가된 멤버 개수를 리턴한다
명령>smembers myset    멤버를 조회한다
결과>1) 멤버_2
2) 멤버_4
3) 멤버_3   특별한 순서 없이 조회된다
4) 멤버_1

애니메이션 보기

Note 순서대로 조회하려면 SortedSets를 사용하면 된다.

member 중복 안됨

집합에서 member는 중복될 수 없다.

Example

명령>sadd myset "멤버_2"
결과>0   기존에 "멤버_2"가 있으므로 추가되지 않았다
명령>sadd myset "멤버_2" "멤버_5"
결과>1   "멤버_5"만 추가되었다
명령>smembers myset
결과> 1) 멤버_2
2) 멤버_4
3) 멤버_5
4) 멤버_1
5) 멤버_3

Subquery(서브쿼리) 기능

Member(멤버) 부분에 서브쿼리를 사용해서 값을 넣을 수 있습니다.
서브쿼리로 사용할 수 있는 명령은 GET, MGET, LPOP, RPOP, LRANGE, SMEMBERS, SUNION, SINTER, SDIFF, ZRANGE, ZREVRANGE, HGET, HMGET, HKEYS, HVALS, HGETALL 입니다.

Example

명령>set key Hello
결과>OK
명령>sadd myset (get key)
결과>1
명령>smembers myset
결과>1) "Hello"

  • 서브쿼리에 다양한 명령을 사용해서 여러 개 값을 넣을 수 있습니다.
  • Example

    명령>sadd myset (lrange mylist2 0 -1)
    결과>8
    명령>sadd myset (sunion myset1 myset2)
    결과>7
    명령>sadd myset (zrange myzset1 0 -1)
    결과>6
    명령>sadd myset (hmget myhash1 field1 field2)
    결과>2

  • 여러 개 서브쿼리를 사용할 수 있습니다.
  • Example

    명령>sadd myset (lrange mylist2 0 -1)   (sunion myset1 myset2)   value1
    결과>16
    서브쿼리 기능은 Enterprise 서버에서 사용 가능합니다.
    Enterprise 7.2.0까지는 SADD 명령에서 사용할 수 있고, 이후 버전에서는 SADDS 명령으로 분리되었습니다.

    멤버(member) 자동 삭제(만료 시간 설정) 기능

    입력하는 멤버에 만료 시간을 설정해서 자동 삭제할 수 있습니다.
    이것은 기존에 sadd(입력)과 expire를 각각 했던 것을 한 명령으로 만들었습니다.

    Example

    명령>sadd myset mem1 mem2 mem3 ex 10
    결과>3
    10초 후
    명령>smembers myset
    결과>(empty list or set)

    서브쿼리에도 사용할 수 있습니다.

    Example

    명령>sadd myset (get key) ex 10
    결과>1
    명령>sadd myset (lrange mylist 0 -1) ex 10
    결과>10

    주의: 이미 멤버가 있을 경우 리턴값에는 빠지지만 expire는 적용됩니다. 즉, myset에 mem1이 있는데 sadd myset mem1 ex 10 하면 리턴값은 0인데 ex 10은 적용됩니다. 이것은 서브쿼리에도 적용됩니다.

    멤버 자동 삭제 기능은 Enterprise 서버에서 사용 가능합니다.


    명령문

    SADD key member [member ...]   [ex seconds]

    • 이 명령은 version 1.0.0 부터 사용할 수 있다.
    • 논리적 처리 소요시간은 O(1)이다.
    • 2.4 버전 이후부터 member를 여러 개 지정할 수 있게 되었다.
    SQL Insert Redis Enterprise 7.3.0 이상이면 INSERT를 사용해보세요.
    관련 명령 SMEMBERS, SREM, SPOP, ZADD
    Clients for Java Jedis, Lettuce, Redisson
    Clients for C Hiredis

    << SETS SADD SADDS >>

    Email 답글이 올라오면 이메일로 알려드리겠습니다.