본문 바로가기
수고한일

Redis ( Remote Dictionary Server )

by UrimStory 2023. 5. 8.

Redis 는? 오픈소스 기반의 비관계형 데이터 베이스 관리시스템으로, 인 메모리 데이타 구조를 가진 저장소 입니다.

Multi Server 환경에서의 Session 데이터를 관리할 때 많이 사용이 됩니다.

인 메모리 데이타 구조 : 하드디스크가 SSD에 데이타를 저장하지 않고 메모리에 저장했다가 같은 페이지의 요청시 메모리에 저장되 데이터를 빠르게 돌려주는 구조 

 

캐싱전략과 세션저장에는 RDBM의 대안을 제시하고 있습니다.

Spring Data Redis 문서에 는 왜 Redis 인지에 대하여 아래와 같이 설명하고 있습니다.

Spring 프레임워크는 선도적인 풀스택 Java/JEE 애플리케이션 프레임워크입니다. 이 프레임워크는 종속성 주입, AOP, 이식 가능한 서비스 추상화를 사용하여 경량 컨테이너와 비침투적 프로그래밍 모델을 제공합니다.

NoSQL 스토리지 시스템은 수평적 확장성과 속도를 위해 기존 RDBMS에 대한 대안을 제공합니다. 구현 측면에서 키-값 저장소는 NoSQL 공간에서 가장 큰(그리고 가장 오래된) 구성원 중 하나입니다.

Spring의 뛰어난 인프라 지원을 통해 저장소와 상호 작용하는 데 필요한 중복 작업과 상용구 코드를 제거함으로써 Spring 데이터 Redis(SDR) 프레임워크를 사용하면 Redis 키-값 저장소를 사용하는 Spring 애플리케이션을 쉽게 작성할 수 있습니다.

 In Memory, key-value 방식의 NoSQL 로는 Redis 이외에 Memcached 도 사용되고 있으나, Redis를 더 선호하는 이유는 

다양한 자료구조와 데이터의 복구가 가능하고, 다양한 Data Eviction 정책을 지원하여 더 세밀한 Eviction 제어가 가능하다는 장점이 있기 때문이다. 그외 고려사항으로 Read/write speed, Memory usage, Disk I.O dumping, scaling 면으로도 Redis를 더 많이 채택하고 있다.

다양한 Data Type :
  String, Bitmaps, Bit field, hashes, Lists, Sets, Sorted Sets, Geospatial Indexes, HyperLogLogs, Streams
Redis 설치  ( Redis 공식 사이트  - https://redis.io )
$wget https://download.redis.io/releases/redis-6.2.1.tar.gz
$tar xzf redis-6.2.1.tar.gz
$cd redis-6.2.1
$make install
빌드가 완료되면 redis 서버와 클라이언트가 설치되며 접속은 redis-cli 로 접속 한다. 
> redis-cli -h  {ip} -p {port} -a {password}
Redis 사용시 주의 점 
싱클 스레드의 특성 때문에 처리하는데 시간이 오래 걸리는 요청이나 명령은 피해야 하며 운영플랜이 필요합니다.
728x90

'수고한일' 카테고리의 다른 글

VirtualBox  (0) 2023.05.30
Open Search  (0) 2023.05.23
Kubernetes  (0) 2023.05.09
Docker  (0) 2023.05.09
클라우드 분야 OSS  (0) 2023.05.03