ποΈπ¨Β μλ νμΈμ, μ΄μμ λλ€! μ΄λ² ν¬μ€νΈμμλ Redis λ°μ΄ν° νμ μ€ νλμΈ Setsμ λν΄μ ν¬μ€ν νλ €κ³ ν©λλ€!
Redis Sets
λ μ€λ³΅μ νμ©νμ§ μλ κ³ μ ν κ°λ€μ 컬λ μ
μ μ μ₯νλ λ°μ΄ν° νμ
μ
λλ€. Setsλ μ§ν© μ°μ°(κ΅μ§ν©, ν©μ§ν©, μ°¨μ§ν©)μ μ§μνμ¬ λ©€λ² κ°μ κ΄κ³λ₯Ό νμ
νκ±°λ νμν λ©€λ²λ₯Ό μΆμΆν λ μ μ©ν΄μ. νκ·Έ, κ΄μ¬ μ£Όμ , μ¨λΌμΈ μ¬μ©μ λͺ©λ‘κ³Ό κ°μ λ€μν μλ리μ€μμ μ€λ³΅ μ κ±° λ° λ©€λ²μ κ²μ¬μ κ°μ μμ
μ ν¨μ¨μ μΌλ‘ μνν μ μμ΄μ.
SADD
key member [member β¦]: νλ μ΄μμ λ©€λ²λ₯Ό Setsμ μΆκ°ν΄μ.> SADD myset 1 2 3 1 1
(integer) 3
SCARD
key: Setsμ λ©€λ² μλ₯Ό λ°νν΄μ.SCARDμμ CARDλ Cardinality(μΉ΄λλ리ν°)
λ₯Ό λνλ΄μ. μΉ΄λλ리ν°λ μ§ν©μ΄λ 컬λ μ
μμμ κ°μ λλ ν¬κΈ°λ₯Ό μλ―Έν΄μ.
> SCAD myset
(integer) 3
SISMEMBER
key member: νΉμ λ©€λ²κ° Setsμ μν λ©€λ²μΈμ§ νμΈν μ μμ΄μ.> SISMEMBER myset 1
(integer) 1
> SISMEMBER myset 4
(integer) 0
νΉμ λ©€λ²κ° Setsμ μν λ©€λ²μ΄λ©΄ 1μ λ°ννκ³ μλλΌλ©΄ 0μ λ°νν΄μ.
SREM
key member [member β¦]: νλ μ΄μμ λ©€λ²λ₯Ό Setsμμ μ κ±°ν΄μ.> SREM myset 1 2
(integer) 2
> SREM myset 3
(integer) 1
> SREM myset 4
(integer) 0
μ¬λ¬ λ©€λ²λ₯Ό μμ ν κ²½μ° μμ λ λ©€λ²μ κ°μλ₯Ό λ°νν΄μ. μμ μμ μμλ 1κ³Ό 2λ₯Ό μ κ±° μλνμκ³ , 1κ³Ό 2κ° mysetμ μ‘΄μ¬νμ¬ λ κ°μ μμκ° μ κ±°λμ΄ 2κ° λ°νλμμ΄μ. λ°λ©΄ 4μ κ²½μ°μλ mysetμ μ‘΄μ¬νμ§ μκΈ° λλ¬Έμ 0μ΄ λ°νλμμ΄μ.
SPOP
key [count]: Setsμμ 무μμ λ©€λ²λ₯Ό νλ λλ μ¬λ¬ κ°λ₯Ό popν΄μ.# μμ μμμμ mysetμμ λͺ¨λ μμλ₯Ό μ κ±°νμκΈ° λλ¬Έμ ν
μ€νΈλ₯Ό μν΄
# λ€μ 10κ°μ μμλ₯Ό λ£μκ²μ.
> SAD myset 1 2 3 4 5 6 7 8 9 10
(integer) 10
> SPOP myset
"7"
> SPOP myset
"1"
> SPOP myset 3
1) "6"
2) "10"
3) "9"
# 5κ°μ λ©€λ²λ₯Ό popνμ¬ νμ¬ mysetμ λ¨μ λ©€λ²λ 5κ°μμ.
> SCARD myset
(integer) 5
SINTER
key [key β¦]: μ¬λ¬ Sets κ°μ κ΅μ§ν©μ λ°νν΄μ.> SADD s1 1 2 3
(integer) 3
> SADD s2 2 3 4
(integer) 3
> SADD s3 3 4 5
(integer) 3
> SINTER s1 s2
1) "2"
2) "3"
> SINTER s2 s3
1) "3"
2) "4"
> SINTER s1 s2 s3
1) "3"
SINTER λͺ
λ Ήμ΄μμμ INTERλ Intersection(κ΅μ§ν©)
μ λνλ΄μ.
SUNION
key [key β¦]: μ¬λ¬ Sets κ°μ ν©μ§ν©μ λ°νν΄μ.> SUNION s1 s2
1) "1"
2) "2"
3) "3"
4) "4"
> SUNION s2 s3
1) "2"
2) "3"
3) "4"
4) "5"
> SUNION s1 s2 s3
1) "1"
2) "2"
3) "3"
4) "4"
5) "5"
SDIFF
key [key β¦]: μ¬λ¬ Sets κ°μ μ°¨μ§ν©μ λ°νν΄μ.> SDIFF s1 s2
1) "1"
> SDIFF s2 s1
1) "4"
> SDIFF s2 s3
1) "2"
> SDIFF s3 s2
1) "5"
> SDIFF s1 s2 s3
1) "1"
SDIFF λͺ
λ Ήμ΄μμ DIFFλ Difference(μ°¨μ§ν©)
μ λνλ΄μ.
SRANDMEMBER
key [count]: Setsμμ 무μμ λ©€λ²λ₯Ό νλ λλ μ¬λ¬ κ°λ₯Ό λ°νν΄μ. λ¨ SPOPκ³Όλ λ€λ₯΄κ² μμλ₯Ό μ κ±°νμ§ μμμ.> SRANDMEMBER s1
"3"
> SRANDMBMER s1 2
"3"
"2"
> SCARD s1
(integer) 3
μ΄λ² ν¬μ€ν μμλ Redis λ°μ΄ν° νμ μ Setsμ λν΄μ λ€λ£¨μ΄ 보μμ΄μ. μ€λ³΅μ νμ©νμ§ μλ νΉμ§μ νμ©νμ¬ μ€λ³΅ μ κ±°, κ΅μ§ν©, ν©μ§ν©, μ°¨μ§ν©, νκ·Έ λ±μ νμ©ν μ μμ΄μ. μ¬λ¬ λΆμ μ ν리μΌμ΄μ μμ Setsλ₯Ό νμ©ν μ μλ λΆλΆμ νλ² μ°κ΅¬ν΄λ³΄μλ κ²λ μ’μ κ² κ°μμ. κ·ΈλΌ λ€μμ 봬μ μλ ~π