[Redis] λ ˆλ””μŠ€(Redis)λž€?

2025. 3. 11. 16:12Β·πŸ’Ύ DataBase
728x90
728x90

 

λ ˆλ””μŠ€(Redis)λŠ” λ©”λͺ¨λ¦¬ 기반의 데이터 μ €μž₯μ†Œμ΄λ‹€. ν‚€-λ°Έλ₯˜(key-value) 데이터 ꡬ쑰에 κΈ°λ°˜ν•œ λ‹€μ–‘ν•œ ν˜•νƒœμ˜ 자료 ꡬ쑰λ₯Ό μ œκ³΅ν•˜λ©°, 데이터듀을 μ €μž₯ν•  수 μžˆλŠ” μ €μž₯μ†Œμ΄λ‹€. μ΅œμ‹  λ²„μ „μ˜ λ ˆλ””μŠ€λŠ” PUB/SUB ν˜•νƒœμ˜ κΈ°λŠ₯을 μ œκ³΅ν•˜μ—¬ λ©”μ„Έμ§€λ₯Ό 전달할 수 μžˆλ‹€. 즉, 데이터 μ €μž₯ 뿐만 μ•„λ‹ˆλΌ λ‹€μ–‘ν•œ λͺ©μ μœΌλ‘œ μ‚¬μš©ν•  수 μžˆλ‹€.λ ˆλ””μŠ€λŠ” λ©”λͺ¨λ¦¬μ— 데이터λ₯Ό μ €μž₯ν•˜κΈ° λ•Œλ¬Έμ— μ €μž₯ 곡간에 μ œμ•½μ΄ μžˆμ–΄, 주둜 보쑰 데이터 μ €μž₯μ†Œλ‘œ μ‚¬μš©ν•œλ‹€. 이λ₯Ό κ·Ήλ³΅ν•˜κΈ° μœ„ν•΄ λ ˆλ””μŠ€ ν΄λŸ¬μŠ€ν„° κΈ°λŠ₯을 μ œκ³΅ν•˜κ³  μžˆμ–΄ μ €μž₯ 곡간을 ν™•μž₯ν•  수 μžˆλ‹€. λ˜ν•œ μ €μž₯된 데이터λ₯Ό 영ꡬ적으둜 λ””μŠ€ν¬μ— μ €μž₯ν•  수 μžˆλŠ” λ°±μ—… κΈ°λŠ₯을 μ œκ³΅ν•˜λ―€λ‘œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ μ£Ό μ €μž₯μ†Œλ‘œλ„ μ‚¬μš©ν•  수 μžˆλ‹€. λ˜ν•œ λ©”λͺ¨λ¦¬μ— 데이터λ₯Ό μ €μž₯ν•˜κΈ° λ•Œλ¬Έμ— λΉ λ₯Έ 처리 속도가 μž₯점이닀. λ ˆλ””μŠ€ λ‚΄λΆ€μ—μ„œ λͺ…λ Ήμ–΄λ₯Ό μ²˜λ¦¬ν•˜λŠ” 뢀뢄은 μ‹±κΈ€ μŠ€λ ˆλ“œ μ•„ν‚€ν…μ²˜λ‘œ κ΅¬ν˜„λ˜μ–΄ μžˆλ‹€. λ©€ν‹° μŠ€λ ˆλ“œ μ•„ν‚€ν…μ²˜λ³΄λ‹€ ꡬ쑰가 λ‹¨λ‹¨ν•˜κ²Œ μ„€κ³„λ˜μ–΄ μ—¬λŸ¬ μž₯점이 μžˆλ‹€. - “μŠ€ν”„λ§ λΆ€νŠΈλ‘œ κ°œλ°œν•˜λŠ” MSA μ»΄ν¬λ„ŒνŠΈ - 김병뢀“
 

Install Redis or Redis Stack

How to install your preferred Redis flavor on your target platform

redis.io

 

 

Redisλž€?

  • Key-Value ꡬ쑰의 μ €μž₯μ†Œ (In-Memory DB)
  • λΉ„μ •ν˜• 데이터λ₯Ό μ €μž₯, κ΄€λ¦¬ν•˜κΈ° μœ„ν•œ μ˜€ν”ˆμ†ŒμŠ€ 기반의 NoSQL
  • μ›Ή μ„œλ²„μ˜ 뢀담을 획기적으둜 쀄이고 κ³ μ†μœΌλ‘œ 데이터λ₯Ό μ œκ³΅ν•  수 있게 함
    • DB(λ°μ΄ν„°λ² μ΄μŠ€), Cache(μΊμ‹œ), Message Queue, Shared Memory 용으둜 μ‚¬μš©
더보기

In-Memory(인메λͺ¨λ¦¬)λž€?

μ»΄ν“¨ν„°μ˜ μ£ΌκΈ°μ–΅μž₯치인 RAM(램)에 데이터λ₯Ό μ μž¬ν•˜μ—¬ μ‚¬μš©ν•˜λŠ” λ°©λ²•μœΌλ‘œ, RAM에 데이터λ₯Ό μ €μž₯ν•˜κ²Œ 되면 λ©”λͺ¨λ¦¬ λ‚΄λΆ€μ—μ„œ μ²˜λ¦¬κ°€ λ˜λ―€λ‘œ, 데이터λ₯Ό μ €μž₯ λ˜λŠ” μ‘°νšŒν•  λ•Œ ν•˜λ“œλ””μŠ€ν¬λ₯Ό μ˜€κ³ κ°€λŠ” κ³Όμ •μ—μ„œμ˜ 속도 손싀이 쀄어 λΉ λ₯΄κ²Œ 데이터에 μ ‘κ·Ό κ°€λŠ₯

  • ν•˜μ§€λ§Œ, μ„œλ²„μ˜ λ©”λͺ¨λ¦¬ μš©λŸ‰μ„ μ΄ˆκ³Όν•˜λŠ” 데이터λ₯Ό μ²˜λ¦¬ν•  경우 RAM의 νŠΉμ„±μΈ 'νœ˜λ°œμ„±'에 따라 데이터가 μœ μ‹€λ  수 있음

 

일반적인 DBλŠ” 데이터λ₯Ό λ””μŠ€ν¬μ— 직접 μ €μž₯(Write)ν•˜κΈ° λ•Œλ¬Έμ— μ„œλ²„μ— λ¬Έμ œκ°€ λ°œμƒν•˜μ—¬ λ‹€μš΄λ˜λ”λΌλ„ 데이터가 μ†μ‹€λ˜μ§€ μ•Šμ§€λ§Œ, 맀번 λ””μŠ€ν¬μ— μ ‘κ·Όν•΄μ•Ό ν•˜κΈ° λ•Œλ¬Έμ— μ‚¬μš©μžκ°€ λ§Žμ•„μ§ˆμˆ˜λ‘ λΆ€ν•˜κ°€ λ§Žμ•„μ§€κ³  속도가 λŠλ €μ§„λ‹€.

→ μΊμ‹œ μ„œλ²„λ₯Ό λ„μž…ν•˜μ—¬ μ‚¬μš©ν•΄μ•Ό 함. μ΄λ•Œ, μΊμ‹œ μ„œλ²„λ‘œ μ΄μš©ν•  수 μžˆλŠ” 것이 Redis.

 

같은 μš”μ²­μ΄ μ—¬λŸ¬ 번 듀어와도 Redisλ₯Ό μΊμ‹œλ‘œ μ΄μš©ν•˜λ©΄ 맀번 DBλ₯Ό κ±°μΉ˜μ§€ μ•Šμ•„λ„ λ˜λ―€λ‘œ(μΊμ‹œ μ„œλ²„μ—μ„œ ν•„μš”ν•œ 데이터λ₯Ό κ°€μ Έμ˜΄) DB의 λΆ€ν•˜λ₯Ό 쀄이고 속도λ₯Ό λΉ λ₯΄κ²Œ μœ μ§€ν•  수 μžˆλ‹€.

 

 

Redis의 νŠΉμ§•

1. λ‹€μ–‘ν•œ 데이터 νƒ€μž… 지원

λ ˆλ””μŠ€λŠ” λ‹€μ–‘ν•œ ν˜•νƒœμ˜ 자료 ꡬ쑰λ₯Ό μ œκ³΅ν•œλ‹€. 기본적으둜 ν‚€-κ°’(Key-Value) ν˜•νƒœμ˜ ꡬ쑰λ₯Ό μ‚¬μš©ν•˜λ©°, Valueκ°€ μ‚¬μš©ν•˜λŠ” 자료 ꡬ쑰에 따라 μ—¬λŸ¬ κΈ°λŠ₯을 μ΄μš©ν•  수 μžˆλ‹€. 즉, μ–΄λ–€ ν˜•νƒœμ˜ 자료 ꡬ쑰λ₯Ό μ‚¬μš©ν•˜λ”λΌλ„ KeyλŠ” ν•„μˆ˜μ΄λ‹€.

  • String : λ¬Έμžμ—΄ λ°μ΄ν„°λ‘œ, λ‹¨μˆœ 증감 μ—°μ‚°μœΌλ‘œ μ‚¬μš© κ°€λŠ₯ν•˜λ‹€. (INCR, INCRBY, INCRBYFLOAT, HINCRBY, HINCRBYFLOAT, ZINCRBY)
  • Bitmap : λΉ„νŠΈ μ—°μ‚° κ°€λŠ₯
  • List : 리슀트 λ°μ΄ν„°λ‘œ, 리슀트 μ•„μ΄ν…œμ€ Linked List ν˜•νƒœλ‘œ μ—°κ²°λœλ‹€.
  • Hashe : ν•΄μ‹œ λ°μ΄ν„°λ‘œ, ν•΄μ‹œ ν•„λ“œ(Field)와 κ°’(Value)으둜 κ΅¬μ„±λœλ‹€. ν•΄μ‹œ λ°μ΄ν„°λŠ” λ ˆλ””μŠ€ 킀와 λ§€ν•‘λ˜λ―€λ‘œ 값을 μƒμ„±ν•˜κ±°λ‚˜ μ‘°νšŒν•˜λ €λ©΄ λ ˆλ””μŠ€ 킀와 ν•„λ“œλ₯Ό λ™μ‹œμ— μ‚¬μš©ν•΄μ•Ό ν•œλ‹€.
  • Set : 쀑볡을 ν—ˆμš©ν•˜μ§€ μ•ŠλŠ” μ§‘ν•©
  • Sorted Set(Zset) : μŠ€μ½”μ–΄ 값을 μ‚¬μš©ν•˜μ—¬ μ •λ ¬ κΈ°λŠ₯을 μ œκ³΅ν•˜λŠ” Set
  • Hyperloglog : μ§‘ν•©μ˜ 데이터 개수λ₯Ό μΆ”μ •ν•  수 μžˆλŠ” μ•Œκ³ λ¦¬μ¦˜ μ΄λ¦„μ΄μž 이λ₯Ό μ‚¬μš©ν•  수 μžˆλŠ” λ ˆλ””μŠ€ 자료 ꡬ쑰. λΉ„νŠΈ νŒ¨ν„΄μ„ λΆ„μ„ν•˜μ—¬ 비ꡐ적 μ •ν™•ν•œ μΆ”μ • κ°’(였차 0.81%)을 계산할 수 μžˆλ‹€.
  • Stream : λ ˆλ””μŠ€ 5.0λΆ€ν„° μ œκ³΅ν•˜λŠ” κΈ°λŠ₯으둜, μ΄λ²€νŠΈμ„± 둜그λ₯Ό μ²˜λ¦¬ν•  수 μžˆλ‹€.

 

2. 데이터 λ°±μ—… κΈ°λŠ₯

인메λͺ¨λ¦¬ μ €μž₯μ†Œμ˜ νœ˜λ°œμ„±μœΌλ‘œ 인해 데이터가 μœ μ‹€λ  경우λ₯Ό λ°©μ§€ν•˜μ—¬ λ°±μ—… κΈ°λŠ₯을 μ œκ³΅ν•œλ‹€.

  • 일뢀 데이터 손싀에 영ν–₯을 λ°›μ§€ μ•ŠλŠ” 경우 (μΊμ‹œλ‘œλ§Œ μ‚¬μš©ν•  λ•Œ) = RDB
  • μž₯μ•  상황 μ§μ „κΉŒμ§€μ˜ λͺ¨λ“  데이터가 보μž₯λ˜μ–΄μ•Ό ν•˜λŠ” 경우 = AOF
  • κ°•λ ₯ν•œ 내ꡬ성이 ν•„μš”ν•œ 경우 = RDB + AOF (일반적으둜 λ™μ‹œ μ‚¬μš©)
    • 맀일 Nμ‹œλ§ˆλ‹€ RDB μŠ€λƒ…μƒ·μ„ μƒμ„±ν•˜κ³ , RDB 생성 이후 λ³€κ²½λ˜λŠ” λ°μ΄ν„°λŠ” AOF둜 λ°±μ—…ν•˜λŠ” 방식

1) RDB (Redis DataBase; Snapshotting)

λ©”λͺ¨λ¦¬μ— μžˆλŠ” 데이터 μ „μ²΄μ—μ„œ μŠ€λƒ…μƒ·μ„ μž‘μ„±ν•˜κ³ , 이λ₯Ό λ””μŠ€ν¬λ‘œ μ €μž₯ν•˜λŠ” 방식이닀. 즉, μˆœκ°„μ μœΌλ‘œ λ©”λͺ¨λ¦¬μ— μžˆλŠ” λ‚΄μš© 전체λ₯Ό λ””μŠ€ν¬μ— λ‹΄μ•„ 영ꡬ적으둜 μ €μž₯ν•œλ‹€.

  • νŠΉμ • μ‹œκ°„λ§ˆλ‹€ μ—¬λŸ¬ 개의 μŠ€λƒ…μƒ·μ„ μƒμ„±ν•˜κ³ , 데이터λ₯Ό 볡원해야 ν•œλ‹€λ©΄ μŠ€λƒ…μƒ· νŒŒμΌμ„ κ·ΈλŒ€λ‘œ λ‘œλ”©ν•œλ‹€.
  • μŠ€λƒ…μƒ· 이후 λ³€κ²½λœ λ°μ΄ν„°λŠ” 볡ꡬ할 수 μ—†λŠ” 데이터 μœ μ‹€ λ¬Έμ œκ°€ μ‘΄μž¬ν•œλ‹€.

2) AOF (Append Only File)

λ ˆλ””μŠ€μ˜ λͺ¨λ“  Write, Update 연산듀을 λͺ¨λ‘ 둜그 νŒŒμΌμ— κΈ°λ‘ν•˜λŠ” 방식이닀. 즉, 데이터가 λ³€κ²½λ˜λŠ” μ΄λ²€νŠΈκ°€ λ°œμƒν•˜λ©΄ 이λ₯Ό λͺ¨λ‘ λ‘œκ·Έμ— μ €μž₯ν•œλ‹€.

  • 데이터λ₯Ό 생성, μˆ˜μ •, μ‚­μ œν•˜λŠ” 이벀트λ₯Ό 초 λ‹¨μœ„λ‘œ μ·¨ν•©ν•˜κ³  둜그 νŒŒμΌμ— μž‘μ„±ν•œλ‹€.
  • λͺ¨λ“  데이터 λ³€κ²½ 기둝을 λ³΄κ΄€ν•˜κ³  μžˆμœΌλ―€λ‘œ μ΅œμ‹  데이터 정보λ₯Ό λ°±μ—…ν•  수 μžˆλ‹€.
  • RDB 방식에 λΉ„ν•΄ 데이터 μœ μ‹€λŸ‰μ΄ μ μ§€λ§Œ(초 λ‹¨μœ„ λ°μ΄ν„°λŠ” μœ μ‹€λ  수 있음), λ‘œλ”© 속도가 느리고 파일 크기가 큰 단점이 μ‘΄μž¬ν•œλ‹€.
더보기

Redis λ°±μ—… 방식 μ„€μ •

1) RDB

  • μžλ™ : redis.conf νŒŒμΌμ— SAVE μ˜΅μ…˜ μ„€μ • (μ‹œκ°„ κΈ°μ€€)
  • μˆ˜λ™ : redis-cliμ—μ„œ BGSAVE λͺ…λ Ή μ΄μš©ν•˜μ—¬ μˆ˜λ™μœΌλ‘œ RDB 파일 μ €μž₯ (μ‹±κΈ€ μŠ€λ ˆλ“œμ΄λ―€λ‘œ SAVE μ»€λ§¨λ“œ μ‚¬μš© μ‹œ νŒŒμΌμ„ μ €μž₯ν•˜λŠ” λ™μ•ˆ λ‹€λ₯Έ μž‘μ—…μ΄ λΆˆκ°€ν•˜λ―€λ‘œ SAVEλŠ” μ‚¬μš©ν•˜μ§€ 말 것)

2) AOF

  • μžλ™ : redis.conf νŒŒμΌμ— auto-aof-rewrite-percentage μ˜΅μ…˜ μ„€μ • (크기 κΈ°μ€€)
  • μˆ˜λ™ : redis-cliμ—μ„œ BGREWRITEAOF λͺ…λ Ή μ΄μš©ν•˜μ—¬ μˆ˜λ™μœΌλ‘œ AOF 파일 μž¬μž‘μ„±

 

3. μ‹±κΈ€ μŠ€λ ˆλ“œ

λ ˆλ””μŠ€λŠ” μ‚¬μš©μžκ°€ μ‹€ν–‰ν•œ λͺ…령어듀을 이벀트 루프(Event Loop) λ°©μ‹μœΌλ‘œ μ²˜λ¦¬ν•œλ‹€. ν΄λΌμ΄μ–ΈνŠΈκ°€ μ‹€ν–‰ν•œ λͺ…령어듀을 Event Queue에 μ μž¬ν•˜κ³  μ‹±κΈ€ μŠ€λ ˆλ“œλ‘œ ν•˜λ‚˜μ”© λΉ λ₯΄κ²Œ μ²˜λ¦¬ν•˜λŠ” 것.

1) μž₯점

  • λ©€ν‹° μŠ€λ ˆλ“œ ν™˜κ²½μ΄ μ•„λ‹ˆκΈ° λ•Œλ¬Έμ— μ•„λž˜μ™€ 같은 μž₯점이 μ‘΄μž¬ν•œλ‹€.
    • Context Switch(λ¬Έλ§₯ κ΅ν™˜)κ°€ λ°œμƒν•˜μ§€ μ•Šμ•„ 효율적으둜 μ‹œμŠ€ν…œ λ¦¬μ†ŒμŠ€λ₯Ό μ‚¬μš©ν•  수 μžˆλ‹€.
    • Deadlock(ꡐ착 μƒνƒœ)이 λ°œμƒν•˜μ§€ μ•ŠλŠ”λ‹€.
    • Race Condition(경쟁 μƒνƒœ)이 λ°œμƒν•˜μ§€ μ•ŠλŠ”λ‹€.
더보기

Race Conditionμ΄λž€?

곡유 μžμ›μ— λŒ€ν•΄ μ—¬λŸ¬ ν”„λ‘œμ„ΈμŠ€κ°€ λ™μ‹œμ— 접근을 μ‹œλ„ν•  λ•Œ, νƒ€μ΄λ°μ΄λ‚˜ μˆœμ„œ 등이 결과값에 영ν–₯을 쀄 수 μžˆλŠ” μƒνƒœλ‘œ 두 개의 μŠ€λ ˆλ“œκ°€ ν•˜λ‚˜μ˜ μžμ›μ„ 놓고 μ„œλ‘œ μ‚¬μš©ν•˜λ €κ³  κ²½μŸν•˜λŠ” μƒν™©μ—μ„œ λ°œμƒν•œλ‹€. 경쟁 μƒνƒœ λ°œμƒ μ‹œ ν”„λ‘œκ·Έλž¨μ˜ 일관성과 정확성을 ν•΄μΉ  수 μžˆμ–΄ μ£Όμ˜ν•΄μ•Ό ν•œλ‹€.

2) 단점

  • μ‹±κΈ€ μŠ€λ ˆλ“œμ΄λ―€λ‘œ 전체 데이터 μŠ€μΊ”κ³Ό 같이 μ˜€λ²„ν—€λ“œκ°€ 큰 λͺ…령을 μ²˜λ¦¬ν•˜λŠ” λ™μ•ˆ λ‹€λ₯Έ λͺ…령을 μ²˜λ¦¬ν•  수 μ—†λ‹€.
    • λ‹€λ₯Έ λͺ…령은 이벀트 큐에 μ €μž₯된 μƒνƒœλ‘œ λŒ€κΈ°ν•˜λ―€λ‘œ 응닡 속도가 μ €ν•˜λœλ‹€.

 

 

Redis μ‚¬μš© μ‹œ 주의점

1. μ‹œκ°„ λ³΅μž‘λ„

λ ˆλ””μŠ€λŠ” μ‹±κΈ€ μŠ€λ ˆλ“œ(Single Thread)λ₯Ό μ‚¬μš©ν•˜λ―€λ‘œ, ν•œ λ²ˆμ— ν•˜λ‚˜μ˜ λͺ…λ Ήλ§Œ μˆ˜ν–‰ν•  수 μžˆμ–΄ 처리 μ‹œκ°„μ΄ κΈ΄ μš”μ²­μ—λŠ” μž₯μ• κ°€ λ°œμƒν•  수 μžˆλ‹€.

 

2. λ©”λͺ¨λ¦¬ λ‹¨νŽΈν™”

크고 μž‘μ€ 데이터λ₯Ό ν• λ‹Ήν•˜κ³  ν•΄μ œν•˜λŠ” κ³Όμ •μ—μ„œ λ©”λͺ¨λ¦¬μ˜ νŒŒνŽΈν™”κ°€ λ°œμƒν•˜μ—¬ 응닡 속도가 느렀질 수 μžˆλ‹€.

 

더보기

λ©”λͺ¨λ¦¬ λ‹¨νŽΈν™”(Memory Fragmentation)λž€?

RAMμ—μ„œ λ©”λͺ¨λ¦¬λ₯Ό ν• λ‹Ή, ν•΄μ œν•˜λŠ” κ³Όμ •μ—μ„œ μœ„ κ·Έλ¦Όκ³Ό 같이 λΆ€λΆ„μ μœΌλ‘œ λΉ„μ–΄ μžˆλŠ” 곡간이 μƒκΈ°λŠ”λ°, μƒˆ λ©”λͺ¨λ¦¬ ν• λ‹Ή μ‹œ μ‚¬μš© κ°€λŠ₯ν•œ λ©”λͺ¨λ¦¬κ°€ μΆ©λΆ„νžˆ μ‘΄μž¬ν•˜μ§€λ§Œ λ©”λͺ¨λ¦¬ 크기만큼의 곡간이 μ—†μ–΄ λ©”λͺ¨λ¦¬ λ‚­λΉ„κ°€ μ»€μ§€λŠ” 문제

  • λ‹¨νŽΈν™” ν˜„μƒμ΄ μ§€μ†λ˜λ©΄, μ‹€μ œ 물리(Physical) λ©”λͺ¨λ¦¬ 크기가 컀져 ν”„λ‘œμ„ΈμŠ€κ°€ μ£½λŠ” ν˜„μƒμ΄ λ°œμƒν•  수 μžˆμ–΄ λ ˆλ””μŠ€ μ‚¬μš© μ‹œ λ©”λͺ¨λ¦¬λ₯Ό μ λ‹Ήνžˆ μœ μ§€ν•˜λŠ” 것이 μ€‘μš”ν•˜λ‹€.

 

3. 주기적인 λͺ¨λ‹ˆν„°λ§

λ©”λͺ¨λ¦¬ μ‚¬μš©λŸ‰μ΄ λ„ˆλ¬΄ 많으면 λ ˆλ””μŠ€ μ„œλ²„μ˜ μ„±λŠ₯ μ €ν•˜λ‚˜ μž₯μ• λ‘œ μ΄μ–΄μ§ˆ 수 μžˆμ–΄ 주기적인 λͺ¨λ‹ˆν„°λ§μ„ 톡해 λ©”λͺ¨λ¦¬λ₯Ό 관리해야 ν•œλ‹€.

 

 

Redis 유효 κΈ°κ°„

λ ˆλ””μŠ€μ— μ €μž₯λ˜λŠ” λͺ¨λ“  λ°μ΄ν„°λŠ” 유효 기간을 μ„€μ •ν•  수 μžˆλ‹€. 유효 기간이 μ§€λ‚œ λ°μ΄ν„°λŠ” λ©”λͺ¨λ¦¬μ—μ„œ μ‚­μ œλ˜μ–΄ λ©”λͺ¨λ¦¬λ₯Ό 효율적으둜 μ‚¬μš©ν•  수 μžˆλ‹€. λ ˆλ””μŠ€λŠ” λ‹€μ–‘ν•œ λ°©λ²•μœΌλ‘œ 이 유효 기간을 μ„€μ • κ°€λŠ₯ν•˜λ‹€.

  1. EXPIRE λͺ…λ ΉμœΌλ‘œ 이미 μƒμ„±λœ 데이터에 유효 κΈ°κ°„ μ„€μ •
  2. 데이터 생성 μ‹œ EX μ˜΅μ…˜ μ‚¬μš©ν•˜μ—¬ 생성과 λ™μ‹œμ— 유효 κΈ°κ°„ μ„€μ • (μžλ£Œκ΅¬μ‘°μ— 따라 μ§€μ›ν•˜μ§€ μ•Šμ„ 수 있음)

λ ˆλ””μŠ€λŠ” λ©”λͺ¨λ¦¬μ— 데이터λ₯Ό μ €μž₯ν•˜λ―€λ‘œ μ €μž₯ 곡간이 ν•œμ •μ μ΄μ–΄μ„œ, 유효 기간을 μ„€μ •ν•˜λŠ” 것이 ꢌμž₯λœλ‹€. 유효 기간을 μ„€μ •ν•˜μ§€ μ•ŠμœΌλ©΄ 데이터λ₯Ό 직접 μ‚­μ œν•  λ•ŒκΉŒμ§€ μ˜μ›νžˆ μœ μ§€(μ˜μ†μ„±)λ˜λ―€λ‘œ 유효 기간을 μ„€μ •ν•˜μž.

728x90
320x100
μ €μž‘μžν‘œμ‹œ λΉ„μ˜λ¦¬ λ³€κ²½κΈˆμ§€ (μƒˆμ°½μ—΄λ¦Ό)

'πŸ’Ύ DataBase' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[MyBatis/Oracle] Sequenceλ₯Ό ν¬ν•¨ν•œ Bulk Insert(닀쀑 ν–‰ μ‚½μž…)  (0) 2025.02.07
[MyBatis] Oracle μ‹œν€€μŠ€ 생성 방법 (useGeneratedKeys)  (0) 2025.01.23
[ADSP] 데이터뢄석 μ€€μ „λ¬Έκ°€ <2κ³Όλͺ©> 데이터 뢄석 기획 - 02μž₯ 뢄석 λ§ˆμŠ€ν„°ν”Œλžœ  (0) 2024.10.21
[ADSP] 데이터뢄석 μ€€μ „λ¬Έκ°€ <2κ³Όλͺ©> 데이터 뢄석 기획 - 01μž₯ 데이터 뢄석 기획의 이해  (0) 2024.10.19
[ADSP] 데이터뢄석 μ€€μ „λ¬Έκ°€ <1κ³Όλͺ©> 데이터 이해 - 02μž₯ λ°μ΄ν„°μ˜ κ°€μΉ˜μ™€ 미래  (0) 2024.10.13
'πŸ’Ύ DataBase' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
  • [MyBatis/Oracle] Sequenceλ₯Ό ν¬ν•¨ν•œ Bulk Insert(닀쀑 ν–‰ μ‚½μž…)
  • [MyBatis] Oracle μ‹œν€€μŠ€ 생성 방법 (useGeneratedKeys)
  • [ADSP] 데이터뢄석 μ€€μ „λ¬Έκ°€ <2κ³Όλͺ©> 데이터 뢄석 기획 - 02μž₯ 뢄석 λ§ˆμŠ€ν„°ν”Œλžœ
  • [ADSP] 데이터뢄석 μ€€μ „λ¬Έκ°€ <2κ³Όλͺ©> 데이터 뢄석 기획 - 01μž₯ 데이터 뢄석 기획의 이해
mxnxeonx
mxnxeonx
"μ•„, 이거 λ­μ˜€λ”λΌ"λ₯Ό ν•˜μ§€ μ•ŠκΈ°μœ„ν•œ 일기μž₯.
  • mxnxeonx
    MJ's Development Diary
    mxnxeonx
  • 전체
    였늘
    μ–΄μ œ
    • λΆ„λ₯˜ 전체보기 (154)
      • πŸ’» Language (43)
        • Java : μžλ°” (18)
        • Python : 파이썬 (9)
        • ROS : λ‘œλ΄‡μ‹œμŠ€ν…œ (9)
        • Android : μ•ˆλ“œλ‘œμ΄λ“œ (4)
        • JavaScript : μžλ°”μŠ€ν¬λ¦½νŠΈ (2)
      • 🌐 Environment (19)
        • IDE : ν†΅ν•©κ°œλ°œν™˜κ²½ (9)
        • Virtual : κ°€μƒν™˜κ²½ (10)
      • βš™ Framework (12)
        • Vue-λ·° (3)
        • Spring-μŠ€ν”„λ§ (7)
      • πŸ’Ύ DataBase (18)
      • 🌌 OS (36)
        • Linux-λ¦¬λˆ…μŠ€ (36)
      • πŸ’¬ CI · CD (7)
        • Git : κΉƒ (7)
      • πŸ“ƒ ETC (3)
      • πŸ€– AI (4)
  • 링크

    • GitHub
  • 인기 κΈ€

  • 졜근 λŒ“κΈ€

  • 졜근 κΈ€

  • hELLOΒ· Designed Byμ •μƒμš°.v4.10.3
mxnxeonx
[Redis] λ ˆλ””μŠ€(Redis)λž€?
μƒλ‹¨μœΌλ‘œ

ν‹°μŠ€ν† λ¦¬νˆ΄λ°”