728x90

키-밸류 스토어

Redis는 고성능의 키-밸류 스토어로, 주로 데이터베이스의 캐시로 사용됩니다. 이를 통해 데이터베이스 조회 시간을 단축시키고, 시스템 전반의 성능을 향상시킬 수 있습니다.

  • Cache Aside 패턴: 클라이언트가 데이터를 요청하면, 먼저 Redis 캐시에서 데이터의 존재 유무를 확인합니다. 캐시에 데이터가 있다면 (Cache Hit) 캐시의 데이터를 사용하고, 없다면 (Cache Miss) 실제 데이터베이스에서 데이터를 가져와 캐시에 저장한 후 클라이언트에 반환합니다.
  • Write Back 패턴: 데이터베이스에 쓰기 작업이 많은 경우, 캐시에 데이터를 먼저 저장하고 주기적으로 데이터베이스에 배치로 업데이트하여 성능을 향상시킵니다.

String 타입

기본적인 데이터 타입으로, 최대 크기는 512MB입니다. text, byte를 저장, 원자적 연산 기능을 하며, 아래 명령어를 통해 조작 가능합니다.

  • SET
  • SETNX
  • GET
  • MGET
  • INC
  • DEC

List and Set

  • Lists: Linked-list 형태로, 데이터 추가 및 삭제가 빠릅니다. lrange, lpush, rpush 등의 명령어를 사용합니다.
  • Sets: 중복을 허용하지 않는 유니크한 값의 집합입니다. sadd, smembers 등의 명령어를 사용합니다.

  • PUSH
  • POP

push와 pop을 통해 값을 삽입하고 추출한다. stack의 경우 가장 최근에 넣은 값부터 반출되지만, queue는 가장 처음에 넣은 값부터 순서대로 반출되는 차이를 가진다.

Hash

Hashes: 하나의 키 아래 여러 개의 필드-값 쌍을 저장합니다.

  • HSET
  • HGET
  • HGETALL

Sorted Set

Sorted Sets: 유니크한 값의 집합이며, 각 값은 연관된 점수로 정렬됩니다.

  • ZADD
  • ZREM
  • ZRANGE
  • ZCARD
  • ZRANK

세션 스토어

  • 세션 불일치 문제: 여러 서버를 운영할 때, 클라이언트의 세션이 서버마다 다를 수 있는 문제가 발생할 수 있습니다.
  • Redis 세션 스토어 사용: Redis를 사용하여 여러 서버 환경에서도 세션 데이터를 일관성 있게 관리할 수 있습니다. 이를 위해 connect-redis와 같은 라이브러리를 사용하여 Express와 Redis를 연결할 수 있습니다

 

'DB(MySQL, MongoDB, Redis, Kafka) > Redis' 카테고리의 다른 글

Redis Pub/ Sub  (0) 2024.01.10
Spring Boot에서 Redis Cache 사용  (0) 2024.01.06
Redis 기본 개념  (1) 2024.01.05

+ Recent posts