redis
CHAPTER 14 / 34
읽기 약 2분
SYNTAX
Lua 스크립트
핵심 개념
Lua 스크립트로 복잡한 로직을 원자적으로 실행합니다. 네트워크 왕복 없이 서버에서 직접 실행됩니다.
코드 분석
// EVAL script numkeys key arg
EVAL "return redis.call('GET', KEYS[1])" 1 mykey
// 조건부 원자 업데이트
EVAL "
local val = redis.call('GET', KEYS[1])
if tonumber(val) > tonumber(ARGV[1]) then
return redis.call('SET', KEYS[1], ARGV[1])
end
return 0
" 1 counter 100
// 스크립트 등록 (캐싱)
SCRIPT LOAD "return redis.call('INCR', KEYS[1])"
// sha1 반환
EVALSHA <sha1> 1 counterAI 프롬프트
🤖 AI에게 잘 물어보는 법 — 모델·전략별 프롬프트
Claude
무료: Sonnet 4.6 / Pro $20/mo: Opus 4.6
이 Redis 'Lua 스크립트' 사용 패턴에서 데이터 유실 위험·TTL 누락·메모리 누수를 분석해서 프로덕션 수준으로 개선해줘.
ChatGPT
무료: GPT-5.5 / Plus $20/mo: GPT-5.5 Pro
'Lua 스크립트'를 캐싱·세션·큐 3가지 시나리오에 적용하는 실전 코드를 만들어줘.
Gemini
무료: 2.5 Flash / Pro $19.99/mo: 3.1 Pro
이 Redis 'Lua 스크립트' 사용 패턴이 클러스터의 키 분포·메모리 사용량·레이턴시에 미치는 영향을 분석하고 최적화 방안을 알려줘.
Grok
무료: Grok 4.1 / SuperGrok $30/mo
Redis 'Lua 스크립트' vs Memcached·Valkey·DragonflyDB의 동일 기능 구현을 2026년 기준으로 솔직히 비교해줘.
⭐ 이것만 기억하세요
Lua 스크립트는 이 3가지만 확실히 잡으세요
1.조건부 업데이트를 여러 명령으로 구현하면 원자성이 보장되지 않아 경쟁 조건이 발생합니다
2.EVAL로 Lua 스크립트를 서버에서 실행하면 여러 명령이 하나의 원자적 연산으로 처리됩니다
3.다음 챕터에서 Redis 데이터를 디스크에 저장하는 영속성을 배웁니다
공유하기
진행도 14 / 34