Database

Ubuntu에서 REDIS DB 설치 및 설정

csound93 2024. 11. 27. 12:09

 

1. Overview

REDIS (REmote DIctionary Server)는 높은 성능과 유연성을 자랑하는 오픈 소스 인메모리 데이터 구조 서버입니다. NoSQL 데이터베이스로 분류되며, 키-값(key-value) 저장소로 주로 사용됩니다. REDIS는 빠른 읽기/쓰기 속도와 다양한 데이터 구조(스트링, 해시, 리스트, 셋, 정렬된 셋)를 지원하여 캐싱, 세션 관리, 메시지 브로커 등 다양한 용도로 활용됩니다. 메모리는 최소 16GB가 필요하다고 하여, 미니PC하나에 구성해 볼 예정입니다.

 

2. REDIS Server 설치

- 패키지 업데이트:

sudo apt update

- REDIS 설치:

sudo apt install redis-server

- 설치 확인:

redis-server --version

 

위 명령어를 통해 설치가 정상적으로 완료되었는지 확인할 수 있습니다.

 

3. REDIS Server 설정

- 설정 파일 편집:

sudo vi /etc/redis/redis.conf

 

vi 편집기를 사용하여 설정 파일을 엽니다. 설정 파일에서 기본 설정과 접속 관련 설정을 수정할 수 있습니다.

 

1) 기본 설정:

  • bind 127.0.0.1 : REDIS가 로컬 호스트에서만 접속을 허용하도록 설정합니다.
  • protected-mode yes : 보호 모드를 활성화하여 외부에서의 무단 접속을 방지합니다.

2) 접속 관련 설정:

- IP 주소 및 포트 설정:

bind 0.0.0.0 ::1
port 6379

 

모든 IP에서 접속을 허용하고, 기본 포트로 6379를 사용합니다.

 

- 비밀번호 설정:

requirepass yourpassword

 

yourpassword 부분에 원하는 비밀번호를 설정하여 접속 시 인증을 요구합니다.

 

3) REDIS 서비스 재시작:

sudo systemctl restart redis-server

 

설정 변경 후 REDIS 서비스를 재시작하여 변경 사항을 적용합니다.

 

4) REDIS 서비스 상태 확인:

sudo systemctl status redis-server

 

REDIS 서비스가 정상적으로 작동하는지 확인합니다.

 

4. 간단한 사용방법

설치 및 설정이 완료된 후, 간단한 REDIS 사용 방법을 소개합니다.

- REDIS 클라이언트 접속:

redis-cli
> AUTH yourpassword
> ACL SETUSER yourusername on >yourpassword allkeys allcommands

 

- 데이터 추가:

set mykey "Hello, World!"

 

- 데이터 조회:

keys *
get mykey

 

데이터의 만료 날짜 설정: 데이터를 일정 시간 후에 자동으로 삭제되도록 하기 위해 만료 시간을 설정할 수 있습니다.

아래 명령어를 사용합니다:

setex mykey 3600 "Hello, Redis!"

 

위 명령어는 mykey에 3600초(1시간) 동안 "Hello, Redis!" 값을 설정합니다.

또한 expire 명령어를 사용하여 기존 키의 만료 시간을 설정할 수도 있습니다:

expire mykey 3600

 

남은 만료 시간을 확인하는 방법은 아래와 같습니다.

ttl mykey

 

5. 정리

이 글에서는 Ubuntu에서 REDIS를 설치하고 설정하는 기본 과정을 설명하였습니다. REDIS는 다양한 애플리케이션에서 활용될 수 있으며, 적절한 설정과 관리로 시스템 성능을 크게 향상시킬 수 있습니다. 저는 Spring에서 세션 클러스터링이나 캐싱 용도로 사용해볼까 합니다.