Redis 내부의 자료구조

PUROMANGA·2025년 5월 22일

기술스택

목록 보기
3/22

✅ 핵심 요약

사용 방식Redis 내부 구조예시
opsForValue()🔹 String (Key → Value)일반적인 @Cacheable처럼 동작
opsForSet()🔹 Set 구조중복 없는 집합
opsForList()🔹 List 구조순서 있는 리스트 (Queue처럼도 사용 가능)
opsForHash()🔹 Hash (Map 구조)내부적으로 Key → Map(Key → Value)
opsForZSet()🔹 Sorted Set점수 기반 정렬된 집합

Redis 구조별 메서드

Redis 구조메서드비유
String (Key-Value)get(key)단독 명령 수령자 호출
Setmembers(setKey)집합 병영에 있는 병사 전체 소집
Listrange(listKey, 0, -1)줄 세운 대원 전부 조회
Hash (Map)entries(hashKey)대장 포함 전체 키-값 병사 점검
ZSetrangeWithScores(zsetKey, 0, -1)점수 순 정렬된 병사 호출

✅ 예시로 다시 정리

🔸 1. String 방식 (Key-Value)

redisTemplate.setKeySerializer(new StringRedisSerializer());
redisTemplate.setValueSerializer(new StringRedisSerializer());

redisTemplate.opsForValue().set("myKey", "myValue");

→ Redis 내부 저장:

Key: myKey
Value: myValue

🔸 2. Set 구조

redisTemplate.opsForSet().add("mySetKey", "value1", "value2");
redisTemplate.opsForSet().members("mySetKey");

→ Redis 내부 저장:

Set mySetKey = { "value1", "value2" }

🔸 3. Hash 구조 (진짜 Map)

redisTemplate.opsForHash().put("user:1", "name", "FutureMan");
redisTemplate.opsForHash().put("user:1", "role", "admin");
redisTemplate.opsForHash().entries("user:1");

→ Redis 내부 저장:

Hash user:1
{
  name: FutureMan,
  role: admin
}

0개의 댓글