μλ
νμΈμ, ν΄μ ν€μ λ§λ£ μκ°μ μ€μ ν μ μλμ§ μκ³ μΆμ΅λλ€.
μλ₯Ό λ€μ΄, κ° ν€μ λν΄ λ§λ£ μκ°μ΄ 5λΆμΈ ν΄μμ μ°κ²°λ ꡬμ±μ λͺ©λ‘μ κ°κ³ μΆμ΅λλ€.
κ°λ₯ν©λκΉ?
κ°μ¬ν©λλ€. μ μμ΄λ‘ 미리 μ£μ‘ν©λλ€.
μλΆ, λ§₯μ€
μλ νμΈμ, ν΄λΉ νΉμ νλμ λν΄ λ€λ₯Έ μ΅μμ ν€λ₯Ό μ¬μ©νκ±°λ λ§λ£ μκ°μ΄ μλ λ€λ₯Έ νλμ ν¨κ» μ μ₯νκ³ λ λ€ κ°μ Έμ μ ν리μΌμ΄μ μ΄ μ¬μ ν μ ν¨νμ§ μ¬λΆλ₯Ό κΈ°λ°μΌλ‘ μ΄ν΄νλλ‘ νλ κ²μ λΆκ°λ₯ν©λλ€. νμ¬ μκ°.
redis 127.0.0.1:6379> hset λ§λ£:λμ μ΄λ¦ ν°
(μ μ) 0
redis 127.0.0.1:6379> hget λ§λ£:λμ μ΄λ¦
"ν°"
redis 127.0.0.1:6379> λ§λ£ λ§λ£:me 10
(μ μ) 1
redis 127.0.0.1:6379> λ§λ£:me
(μ μ) 8
...
...
...
redis 127.0.0.1:6379> λ§λ£:me
(μ μ) -1
redis 127.0.0.1:6379> hget λ§λ£:λμ μ΄λ¦
(무)
κ·Έλμ μλν©λλ€
μμ²μ΄ κ°λ³ νλλ₯Ό λ§λ£νλ κ²μ΄λΌκ³ μκ°ν©λλ€. μ 체 ν΄μλ₯Ό λ§λ£νλ κ²μ λ€λ₯Έ ν€λ₯Ό λ§λ£νλ κ²κ³Ό λμΌν©λλ€.
μ, μ λ μ΄ μꡬ μ¬νμ μΆ©μ‘±νμ΅λλ€. κ°λ³ νλλ₯Ό λ§λ£ν μ μμ΅λκΉ?
λ§λ£ μκ°μ΄ λ€λ₯Έ μ¬λ¬ ν΄μλ₯Ό μμ±νλ λ° νΉλ³ν λ¬Έμ κ° μμ΅λκΉ?
κΈμ, λλ κ±°μ ν λ²μ μ 체 ν΄μλ₯Ό λ§λ£νκ³ μΆμ§ μμ΅λλ€. λ°λΌμ μ€μ λ‘ ν΄μλ₯Ό μ¬λ¬ κ°μ ν€λ‘ λΆν νλ κ²μ΄ μ’μ΅λλ€. κ·Έκ²μ μλνμ§λ§ ν΄μκ° νμν μ΄μ λ₯Ό 묻λ λ° λμΌν μΈμλ₯Ό μ¬μ©ν μ μμ΅λλ€. λ Όλ¦¬μ μΌλ‘ κ΄λ ¨λ λͺ¨λ ν€λ₯Ό ν¨κ» κ·Έλ£Ήννλ λ° μμ²λ κ°μΉκ° μμ΅λλ€. κ·Έλ μ§ μμΌλ©΄ ν€λ₯Ό μ μ₯νλ μΌλΆ μ§ν©μ ν΅ν΄ ν΄λΉ κ³μ μ μνν΄μΌ νλ©° μ°Έμ‘° λ¬΄κ²°μ± λ¬Έμ κ° λ°μν©λλ€. λͺ¨λ ν μ μμ§λ§ ν΄μμμ κ°λ³ ν€ λ§λ£λ₯Ό μ§μνμ§ μλ κ²μ redisμμ κ½€ ν° λλ½μ²λΌ λκ»΄μ§λλ€. κ·Έλ¦¬κ³ Nλͺ μ λ€λ₯Έ μ¬λλ€μ΄ Mκ°μ λ€λ₯Έ λ°©λ²μΌλ‘ ν΄κ²°νλλ‘ νλ κ²μ΄ κ°μΉκ° μλ€κ³ νμ νμ§ μμ΅λλ€.
Kevin Menardμ Johan BergstrΓΆmμκ² κ°μ¬λ립λλ€. μ¬μ€ μ λ κ°μ μλ리μ€λ μ€λͺ
λ§λ¬λ€ μ https : μ¬κΈ° : //github.com/antirez/redis/issues/242, λλ μ΄λ°ν λ μ μν΄ μ£Όμ΄μ§ μ½κΈ° μ견μ΄μλ€.
λͺ¨λ νλλ₯Ό λ€μκ³Ό κ°μ ν€λ‘ λΆν νλ©΄: hashkey:field1 , hashkey:field2 ,.. μ΄λ¬ν ν€λ₯Ό 컬λ μ
μΌλ‘ κ΄λ¦¬νκΈ°κ° μ΄λ ΅μ΅λλ€. λͺ¨λ νλλ₯Ό 쿼리νλ κ²κ³Ό κ°μ΄ KEYS 'patten'μ΄ νμν©λλ€...
λ¬Έμ μΈμ¬,
λ©μΆν
μ΄κ²μ λ§€μ° λ¬Έμ κ° μμ΅λλ€. ν΄μ λ΄λΆμ νΉμ ν€λ₯Ό λ§λ£νλ €λ μ΄μ λ μΊμλ μ€μ μ ν΄μμ μ μ₯νκΈ° λλ¬Έμ λλ€. ν€λ₯Ό μ€μ ν ν μλμΌλ‘ ν€λ₯Ό λ§λ£μν€κ³ μΆμ΅λλ€. λμμ λͺ¨λ μ€μ μ΄ μ λ°μ΄νΈλ κ²½μ° μ 체 ν΄μλ₯Ό μ’ λ£ν μ μμ΄μΌ ν©λλ€. λ°λΌμ λͺ©λ‘μμ μ΄λ¬ν μ€μ μ κ°μ Έμ€κ³ λͺ©λ‘μ μ’ λ£νλ κΈ°λ₯μ΄ νμν©λλ€. μ€μ μ λͺ¨λ μΈμ€ν΄μ€λ₯Ό μ°Ύμ§ μκ³
bjoshuanoahμ λμΌν λ¬Έμ κ° μμ΅λλ€. μ΄μ ν΄μ λμ ttlκ³Ό ν¨κ» ν€λ₯Ό μ¬μ©νκ³ μμ΅λλ€. μ:
ν΄μ: ν΄μ μ΄λ¦ A - ν€ B - κ° C
ν€-κ°: ν€ A_B - κ° C
μ΄ κΈ°λ₯μ λΆμ‘±μ κΈ°μ μ μΌλ‘ λΆκ°λ₯ν©λκΉ μλλ©΄ λμμΈμ μ νμ λκΉ?
λμμΈμ μ νμ ꡬνμ νμ©νμ§ μλ ꡬνμΌλ‘ μ΄μ΄μ§λλ€.
:+1:
redis μμ²΄κ° μ§μνμ§ μλ μ΄ κΈ°λ₯μ λ무 μ μ©ν©λλ€.
μ€λκΉμ§ redisλ μ΄ κΈ°λ₯μ ꡬνν κ³νμ΄ μμμ΅λλ€ :-(
redis 127.0.0.1:6379> hset λ§λ£:λμ μ΄λ¦ ν°
(μ μ) 0
redis 127.0.0.1:6379> hget λ§λ£:λμ μ΄λ¦
"ν°"redis 127.0.0.1:6379> λ§λ£ λ§λ£:me 10
(μ μ) 1
redis 127.0.0.1:6379> λ§λ£:me
(μ μ) 8...
...
...redis 127.0.0.1:6379> λ§λ£:me
(μ μ) -1
redis 127.0.0.1:6379> hget λ§λ£:λμ μ΄λ¦
(무)κ·Έλμ μλν©λλ€
ν΄μ ν μ΄λΈμλ νλκ° νλλ§ μμ΅λλ€. μ¬λ¬ νλλ μ΄λ»μ΅λκΉ? κ·Έκ²μ μ λλ‘ μλνμ§ μμ κ²μ λλ€!
@oylz - μ΄ κΈ°λ₯ μμ²μ μλ μλλ μ 체 ν€κ° μλλΌ ν΄μ λ΄λΆμ νΉμ νλ μ λ§λ£λ₯Ό νμ©νλ κ²μ λλ€.
@itamarhaber
μ΄λ»κ² μ΄λ°μμΌλ‘?:
hset λ§λ£:λμ μ΄λ¦1 tom1
hset λ§λ£:λμ μ΄λ¦2 tom2
hset λ§λ£:λμ μ΄λ¦3 tom3
λ§λ£:λ 10
μ 체 ν΄μ ν μ΄λΈ(expire:me)μ΄ λ§λ£λ©λλ€.
@oylz μ°λ¦¬λ μμ ν ν΄μκ° λ§λ£λλ€λ κ²μ μκ³ μμ΅λλ€. μλνμ§λ§ μ¬κΈ°μλ ν΄μμ λ¨μΌ νλμ λν΄ μ΄μΌκΈ°νκ³ μμ΅λλ€( @itamarhaberκ° μ΄λ―Έ μ€λͺ νλ―μ΄). μλ₯Ό λ€μ΄ κ·νμ κ²½μ° 5μ΄ νμ name1 νλλ₯Ό, 10μ΄ νμ name2 νλλ₯Ό, 15μ΄ νμ name 3 νλλ₯Ό μ΄λ»κ² λ§λ£μν¬ μ μμ΅λκΉ? μ΄μ μ¬κΈ°μ λ Όμ μ€μΈ μ¬μ© μ¬λ‘κ° λͺ νν΄μ§κΈ°λ₯Ό λ°λλλ€.
@nomi-ramzan
λΉμ μ μ λ§λ‘ μ΄ν΄ν©λκΉ? @itamarhaberκ° λ§νλ―μ΄: "λλ μ΄ κΈ°λ₯ μμ²μ μλ μλκ° μ 체 ν€κ° μλλΌ ν΄μ λ΄λΆμ νΉμ νλ μ λ§λ£λ₯Ό νμ©νλ κ²μ΄λΌκ³ λ―Ώμ΅λλ€."
@nomi-ramzan
μ£μ‘ν©λλ€. μ²μμ μλͺ» λ΅μ₯ νμ΅λλ€ . 보λ΄μΌ ν©λλ€.
μ:
_redis 127.0.0.1:6379> hset λ§λ£:λμ μ΄λ¦ ν°
(μ μ) 0
redis 127.0.0.1:6379> hget λ§λ£:λμ μ΄λ¦
"ν°"
redis 127.0.0.1:6379> λ§λ£ λ§λ£:me 10
(μ μ) 1
redis 127.0.0.1:6379> λ§λ£:me
(μ μ) 8
...
...
...
redis 127.0.0.1:6379> λ§λ£:me
(μ μ) -1
redis 127.0.0.1:6379> hget λ§λ£:λμ μ΄λ¦
(무)
κ·Έλμ μλν©λλ€_
μ§κΈμ 2020λ μ λλ€. Redisλ μ΄κ²μ μ΄ν΄λ΄μΌ ν©λλ€.
μ°λ¦¬ νμ¬λ λ§λ£ ν΄μ νλ κΈ°λ₯μ ꡬννμ΅λλ€.
κ·Έκ²μ κΈ°λ³Έ redis 4.0
μ΄ κΈ°λ₯μ κΈ°λ³Έμ μΌλ‘ μ 곡νλ©΄ ν° λμμ΄ λ κ²μ
λλ€.
κ°μ¬ ν΄μ.
λλ μμ§λ μ΄κ²μ κΈ°λ€λ¦¬κ³ μλ€
λ―Ώμ μ μλ! Redisλ μμ§ κ΅¬ννμ§ μμμ΅λλ€!
μ¬κΈ°μλ λ§μ°¬κ°μ§μ λλ€. λ§λ£λ₯Ό ν΄μ νλλ‘ μ€μ νλ κΈ°λ₯μ΄ μμΌλ©΄ μ λ§ μ’μ κ²μ λλ€.
+1
λ―Ώμ μ μλ! Redisλ μμ§ κ΅¬ννμ§ μμμ΅λλ€!
μ΄ κΈ°λ₯μ λν΄ +1
Redis μΈκ³λ₯Ό λ°κ²¬νκ³ μΊμλ₯Ό λ€μκ³Ό κ°μ νμμΌλ‘ μ μ₯νλ κ²μ μμνμ΅λλ€.
1) κ° ν΄μ ν
μ΄λΈ - λ΄ API λ°©λ²μ
λλ€.
2) ν΄μ ν
μ΄λΈμ ν - λ©μλμ μ
λ ₯ 맀κ°λ³μμ ν΄μ ν¨μμ΄λ©° κ°μ λ©μλμ μλ΅μ
λλ€.
μ΄ κΈ°λ₯μ λν΄ +1
μ΄ κΈ°λ₯μ λν΄ +1
+1
+1
+1
+1
ν΄μμ λ§λ£ ν€κ° ꡬνλμ§ μμ νΉλ³ν μ΄μ κ° μμ΅λκΉ?
μ΄κ²μ΄ μμ§ κ΅¬νλμ§ μμ μ΄μ λ μ΄ κΈ°λ₯μ νμν μκ°(CPU)κ³Ό 곡κ°(RAM)μ 볡μ‘μ±μ΄ μ¦κ°νκΈ° λλ¬Έμ λλ€. μ λ λ§νμ§ λ§λΌλ λ§μ λλ€.
μκ° λ³΅μ‘λλ λ€νμ μκ° μμλλ‘ μ§νλ©λκΉ? μ΄λ€ λͺ©μ μΌλ‘λ 볡μ νλ©΄μ RAMμ λ§μ΄ μ¬μ©νκ² λ§λλ μ΄μ λ 무μμ λκΉ?
μ΄ κΈ°λ₯μ΄ κ΅¬νλλ©΄ redisκ° μΈκΈ°λ₯Ό ν¬κ² λμΌ κ²μ΄λΌκ³ νμ ν©λλ€.
μ΄ κΈ°λ₯μ λν΄ +1
+1
+1
κ°μ₯ μ μ©ν λκΈ
κΈμ, λλ κ±°μ ν λ²μ μ 체 ν΄μλ₯Ό λ§λ£νκ³ μΆμ§ μμ΅λλ€. λ°λΌμ μ€μ λ‘ ν΄μλ₯Ό μ¬λ¬ κ°μ ν€λ‘ λΆν νλ κ²μ΄ μ’μ΅λλ€. κ·Έκ²μ μλνμ§λ§ ν΄μκ° νμν μ΄μ λ₯Ό 묻λ λ° λμΌν μΈμλ₯Ό μ¬μ©ν μ μμ΅λλ€. λ Όλ¦¬μ μΌλ‘ κ΄λ ¨λ λͺ¨λ ν€λ₯Ό ν¨κ» κ·Έλ£Ήννλ λ° μμ²λ κ°μΉκ° μμ΅λλ€. κ·Έλ μ§ μμΌλ©΄ ν€λ₯Ό μ μ₯νλ μΌλΆ μ§ν©μ ν΅ν΄ ν΄λΉ κ³μ μ μνν΄μΌ νλ©° μ°Έμ‘° λ¬΄κ²°μ± λ¬Έμ κ° λ°μν©λλ€. λͺ¨λ ν μ μμ§λ§ ν΄μμμ κ°λ³ ν€ λ§λ£λ₯Ό μ§μνμ§ μλ κ²μ redisμμ κ½€ ν° λλ½μ²λΌ λκ»΄μ§λλ€. κ·Έλ¦¬κ³ Nλͺ μ λ€λ₯Έ μ¬λλ€μ΄ Mκ°μ λ€λ₯Έ λ°©λ²μΌλ‘ ν΄κ²°νλλ‘ νλ κ²μ΄ κ°μΉκ° μλ€κ³ νμ νμ§ μμ΅λλ€.