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에서 세션 클러스터링이나 캐싱 용도로 사용해볼까 합니다.