728x90
λ°μν
π― λ λμ€(Redis)
λ λμ€(Redis)λ λ©λͺ¨λ¦¬ κΈ°λ°μ Key-Value ννμ λ°μ΄ν° μ μ₯μμ λλ€. λ λμ€λ μ€νμμ€λ‘ κ°λ°λμμΌλ©°, μ±λ₯μ΄ λ°μ΄λκ³ λ€μν μΈμ΄λ‘ ꡬνλ ν΄λΌμ΄μΈνΈ λΌμ΄λΈλ¬λ¦¬λ₯Ό μ 곡νλ―λ‘ λ§μ μ ν리μΌμ΄μ μμ μ¬μ©λ©λλ€.
λ λμ€λ λμ€ν¬μ μ μ₯νμ§ μκ³ λ©λͺ¨λ¦¬μ λ°μ΄ν°λ₯Ό μ μ₯νλ―λ‘, μΌλ°μ μΈ κ΄κ³ν λ°μ΄ν°λ² μ΄μ€λ³΄λ€ λΉ λ₯΄κ² λ°μ΄ν°λ₯Ό μ²λ¦¬ν μ μμ΅λλ€. λν, λ λμ€λ Key-Value ννλ‘ λ°μ΄ν°λ₯Ό μ μ₯νλ―λ‘, μΊμλ μΈμ λ°μ΄ν°, λ©μμ§ λΈλ‘컀 λ± λ€μν μ©λλ‘ μ¬μ©λ©λλ€.
λ λμ€(Redis)μ μ£Όμ κΈ°λ₯
- λ¬Έμμ΄(String) λ°μ΄ν°νμ μ§μν©λλ€.
- ν΄μ(Hash) λ°μ΄ν°νμ μ§μν©λλ€.
- 리μ€νΈ(List) λ°μ΄ν°νμ μ§μν©λλ€.
- μ (Set) λ°μ΄ν°νμ μ§μν©λλ€.
- μ λ ¬λ μ (Sorted Set) λ°μ΄ν°νμ μ§μν©λλ€.
- Pub/Sub(λ°ν/ꡬλ ) κΈ°λ₯μ μ 곡ν©λλ€.
- Lua μ€ν¬λ¦½νΈλ₯Ό μ€νν μ μμ΅λλ€.
- νΈλμμ (Transaction)μ μ§μν©λλ€.
λ λμ€(Redis)μ νΉμ§
- λμ μ±λ₯
- λ©λͺ¨λ¦¬ κΈ°λ°μ λ°μ΄ν° μ μ₯ λ°©μμΌλ‘ μΈν΄, λΉ λ₯Έ μλ΅ μλλ₯Ό μ 곡ν©λλ€.
- λ°μ΄ν°μ μ§μμ±
- λμ€ν¬μ λ°μ΄ν°λ₯Ό μ μ₯νκ³ , λ°±μ λ° λ³΅κ΅¬λ₯Ό μ§μν©λλ€.
- νμ₯μ±
- λΆμ° ν΄λ¬μ€ν°λ§μ μ§μνμ¬ λμ©λ λ°μ΄ν° μ²λ¦¬κ° κ°λ₯ν©λλ€.
- λ€μν ν΄λΌμ΄μΈνΈ λΌμ΄λΈλ¬λ¦¬
- λ€μν μΈμ΄λ‘ ꡬνλ ν΄λΌμ΄μΈνΈ λΌμ΄λΈλ¬λ¦¬λ₯Ό μ 곡ν©λλ€.
λ λμ€(Redis)κ° μ¬μ©λλ λΆμΌ
- μΊμ±(Caching)
- μΊμ±μ μμ£Ό μ¬μ©λλ λ°μ΄ν°λ₯Ό λ©λͺ¨λ¦¬μ μ μ₯νμ¬ λΉ λ₯Έ μλ΅ μλλ₯Ό μ 곡νλ κΈ°μ μ λλ€. λ λμ€λ λΉ λ₯Έ μλ΅ μλμ λ©λͺ¨λ¦¬ κΈ°λ°μ λ°μ΄ν° μ μ₯ λ°©μμΌλ‘ μΈν΄ μΊμ±μ λ§μ΄ μ¬μ©λ©λλ€.
- μΈμ
μ€ν μ΄(Session Store)
- μΈμ μ€ν μ΄λ μΈμ λ°μ΄ν°λ₯Ό μ μ₯νλ λ°μ΄ν°λ² μ΄μ€μ λλ€. μΈμ λ°μ΄ν°λ λ³΄ν΅ μ¬μ©μ μΈμ¦ μ 보 λ± μ€μν μ 보λ₯Ό λ΄κ³ μμΌλ―λ‘, λ λμ€μ λΉ λ₯Έ μλ΅ μλμ μμ μ±μΌλ‘ μΈν΄ μΈμ μ€ν μ΄μ λ§μ΄ μ¬μ©λ©λλ€.
- λ©μμ§ λΈλ‘컀(Message Broker)
- λ©μμ§ λΈλ‘컀λ λ©μμ§λ₯Ό λ°ννκ³ , ν΄λΉ λ©μμ§λ₯Ό ꡬλ νλ μμ€ν μ μ°κ²°νλ λΈλ‘컀μ λλ€. λ λμ€λ Pub/Sub(λ°ν/ꡬλ ) κΈ°λ₯μ μ 곡νμ¬ λ©μμ§ λΈλ‘컀μ λ§μ΄ μ¬μ©λ©λλ€.
- μ€μκ° μ±ν
(Real-time Chat)
- μ€μκ° μ±ν μ λ λμ€μ Pub/Sub κΈ°λ₯μ μ¬μ©νμ¬ κ΅¬νν μ μμ΅λλ€. Pub/Sub κΈ°λ₯μ μ¬μ©νλ©΄ λ©μμ§λ₯Ό λΉ λ₯΄κ² μ λ¬ν μ μμ΄, μ€μκ° μ±ν μ μ ν©ν©λλ€.
λ λμ€(Redis)μ μ₯λ¨μ
βοΈ λ λμ€(Redis)μ μ₯μ
- λΉ λ₯Έ μλ΅ μλ
- λ λμ€λ λ©λͺ¨λ¦¬ κΈ°λ°μ λ°μ΄ν° μ μ₯ λ°©μμ μ¬μ©νλ―λ‘, λμ€ν¬ κΈ°λ°μ λ°μ΄ν°λ² μ΄μ€μ λΉν΄ λΉ λ₯Έ μλ΅ μλλ₯Ό μ 곡ν©λλ€.
- νμ₯μ±
- λ λμ€λ ν΄λ¬μ€ν°λ§κ³Ό μ€λ©μ μ§μνμ¬ λκ·λͺ¨ νΈλν½ μ²λ¦¬μ μ ν©ν©λλ€.
- λ€μν λ°μ΄ν° νμ
μ§μ
- λ λμ€λ λ¬Έμμ΄, ν΄μ, 리μ€νΈ, μ§ν©, μ λ ¬λ μ§ν© λ± λ€μν λ°μ΄ν° νμ μ μ§μν©λλ€.
- Pub/Sub(λ°ν/ꡬλ
) κΈ°λ₯ μ 곡
- λ λμ€λ λ©μμ§ λΈλ‘μ»€λ‘ μ¬μ©ν μ μμΌλ©°, Pub/Sub κΈ°λ₯μ μ 곡νμ¬ λ©μμ§λ₯Ό λΉ λ₯΄κ² μ λ¬ν μ μμ΅λλ€.
- μ μ°ν ꡬμ±
- λ λμ€λ λ€μν μ©λλ‘ μ¬μ©λ μ μλλ‘ μ μ°ν ꡬμ±μ μ§μν©λλ€.
ποΈ λ λμ€(Redis)μ λ¨μ
- λ°μ΄ν° μμμ± λΆμ‘±
- λ λμ€λ λ©λͺ¨λ¦¬ κΈ°λ°μ λ°μ΄ν° μ μ₯ λ°©μμ μ¬μ©νκΈ° λλ¬Έμ, μμ€ν μ₯μ λ±μ μν©μμ λ°μ΄ν°κ° μꡬμ μΌλ‘ μμ€λ μ μμ΅λλ€. νμ§λ§, RDB(μ€λ μ· λ°©μ) λ° AOF(λ‘κ·Έ λ°©μ) λ±μ μμμ± λ°©λ²μ μ 곡νκ³ μμ΅λλ€.
- λ¨μν 쿼리 μ§μ
- λ λμ€λ λ¨μν 쿼리λ₯Ό μ§μν©λλ€. 볡μ‘ν 쑰건문, μ‘°μΈ λ±μ μ§μνμ§ μκΈ° λλ¬Έμ, κ΄κ³ν λ°μ΄ν°λ² μ΄μ€μ κ°μ μ©λλ‘λ μ¬μ©νκΈ° μ΄λ ΅μ΅λλ€.
- μ€λ λ μμ μ± λΆμ‘±
- λ λμ€λ κΈ°λ³Έμ μΌλ‘ μ€λ λ μμ μ±μ μ§μνμ§ μμ΅λλ€. λ°λΌμ, λ©ν°μ€λ λ νκ²½μμ μ¬μ©νκΈ° μν΄μλ μΆκ°μ μΈ κ΅¬μ±μ΄ νμν©λλ€.
- 볡μ μμ€ν
ꡬμ±μ΄ 볡μ‘ν¨
- λ λμ€λ 볡μ κΈ°λ₯μ μ 곡νμ§λ§, ꡬμ±μ΄ 볡μ‘νκ³ μ€λ₯ λ°μ κ°λ₯μ±μ΄ λμ΅λλ€.
- λ©λͺ¨λ¦¬ λΆμ‘± μ λ¬Έμ λ°μ
- λ λμ€λ λ©λͺ¨λ¦¬ κΈ°λ°μ λ°μ΄ν° μ μ₯ λ°©μμ μ¬μ©νκΈ° λλ¬Έμ, λ©λͺ¨λ¦¬ λΆμ‘± μ μμ€ν μ 체μ λ¬Έμ κ° λ°μν μ μμ΅λλ€.
728x90
λ°μν
'Database' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Database] μ μ₯ νλ‘μμ (Stored Procedure) (0) | 2023.03.26 |
---|---|
[Database] νΈλμμ μ 격리 μμ€(Isolation Level) (0) | 2023.03.26 |
[Database] νΈλμμ (Transaction) (1) | 2023.03.26 |
[Database] μΈλ±μ€(Index) (0) | 2023.03.26 |
[Database] μ΄μ(Anomaly) (0) | 2023.03.26 |