Redis UNLINK vs DEL: 내부 메커니즘 심층 분석
2025-01-21

Redis의 UNLINK와 DEL 명령어는 모두 키를 삭제하지만 내부 구현 방식이 다릅니다. DEL 명령어는 키를 동기적으로 삭제하고 메모리를 해제하지만, UNLINK 명령어는 키 삭제 작업을 비동기적으로 백그라운드 큐에서 처리합니다. UNLINK의 '비차단' 특성은 절대적인 것이 아니며, 객체 삭제 비용을 계산합니다. 비용이 64 미만이면 동기적으로, 그렇지 않으면 비동기적으로 삭제합니다. 이 글에서는 Redis 소스 코드를 심층 분석하여 UNLINK와 DEL 명령어의 구현 세부 사항, 키 슬롯 계산, 2단계 언링크, 비동기 삭제 등의 메커니즘과 LAZYFREE_THRESHOLD의 역할을 설명합니다.
개발