Ubuntu에 Redis 설치하기

소개

Redis는 Remote Dictionary Server의 약자로, 인 메모리 데이터 구조 저장소입니다. Redis는 key-value 형태의 데이터를 저장하며, 다양한 데이터 구조를 지원합니다. Redis는 메모리에 데이터를 저장하므로 빠른 속도로 데이터를 처리할 수 있습니다. 또한, Redis는 영속성을 지원하여 디스크에 데이터를 저장할 수 있습니다. Redis는 다양한 용도로 사용될 수 있으며, 캐시, 세션 관리, 메시지 브로커, 리더보드 등 다양한 분야에서 사용됩니다. Redis는 오픈 소스로 제공되며, 다양한 언어에서 사용할 수 있는 클라이언트 라이브러리를 제공합니다.

이 문서에서는 이러한 특성을 가진 Redis 서버를 우분투(Ubuntu) 22.04 LTS 배포판에 설치하는 방법에 대해 안내 합니다.

준비사항

  • 미리 설치된 우분투(Ubuntu) 버전 20 이상
    • Redis를 위한 충분한 여유 메모리가 있어야 합니다. (1백만개의 작은 데이터의 경우 약 85M정도의 메모리가 사용 됩니다.)
    • 별도의 Redis서버를 구성하여 애플리케이션 서버에서 접근해야하는 경우 사설 네트워크를 구성하고 활성화 해야 합니다.

Redis 설치

설치 STEP 1

Redis는 공식 Ubuntu 레포지토리에서 제공되고 있으나 최신 Redis가 아닐 수 있습니다. 이 문서에서는 커뮤니티에서 신뢰된 chris-lea/redis-serverPPA를 사용하여 설치를 진행 합니다.

chris-lea/redis-serverPPA를 설치하기 위해서 APT 저장소를 추가 합니다.

 

패키지 목록을 업데이트 한 다음 Redis를 설치 합니다.

 

Redis가 부팅시 실행되도록 설정 합니다.

Redis 설정

즐겨 사용하는 편집기에서 Redis구성 파일을 불러옵니다.

 

Redis가 수신 대기할 IP주소를 업데이트 합니다.

  • 애플리케이션 서버에 Redis를 설치 했다면 기본 설정으로 셋팅 합니다.
  • 127.0.0.1로 설정하면, Local서버 이외 즉, 외부에서의 접속은 제한 됩니다. 외부에서 접속이 필요할 경우 서버의 사설 IP를 추가로 설정 합니다. 0.0.0.0 즉 모든 외부 접속을 허용할 경우 보안에 취약 할 수 있습니다.

Redis에 대한 메모리 용량을 설정 합니다. 일반적으로 백만개의 Key-Value 데이터의 경우 85MB정도의 메모리를 사용 합니다.

 

기본적으로maxmemory에 도달하면 Redis는 새로운 데이터 저장을 중지합니다. Redis가 자동으로 오래된 데이터를 제거하고 새 데이터를 계속 저장하도록 하려면 Redis에 제거 방법을 정의 해야 합니다. maxmemory-policy 지시문에 대한 권장 값인 allkeys-lru를 설정합니다.

 

기본적으로 Redis는 메모리 데이터를 지정된 조건 및 기간에따라 디스크에 저장 합니다.

 

위의 기본 설정을 사용하면 Redis가 다시 시작할때마다 저장된 데이터를 메모리에 로드합니다. 따라서 이전의 메모리 내 데이터가 복원됩니다. 이 기능이 필요하지 않은 경우 해당 행을 주석처리하면 완전히 비활성화 할 수 있습니다.

 

구성 파일을 저장하고 닫은 다음 Redis를 다시 시작하여 변경사항을 적용 합니다.

시스템 파인튜닝(Fine-Tuning)

Redis 로그 파일을 엽니다.

 

다음과 같은 정보가 표시 됩니다.

 

위의 첫번째 경고를 수정하려면 다음 명령을 입력 합니다.

 

위의 두번째 경고를 수정하려면 새로운 파일을 생성 합니다.

 

다음 텍스트를 해당 파일에 붙여넣습니다.

 

해당 파일을 저장하고 닫습니다. 그런 다음 루트계정의 소유로 권한을 변경 합니다.

 

선택사항:

  • 이 Redis서버가 애플리케이션 서버와 분리되어 있고 ufw가 설치된 경우 Redis포트에 대한 연결을 허용하도록 ufw를 구성합니다. Redis의 포트는 6379입니다.
  • Ubuntu 18.04에 Redis를 설치하면 Redis는 "TCP Backlog"에 대한 추가 경고를 트리거 합니다. 이 경고를 수정하려면 다음 명령어를 입력합니다.

설정 확인

시스템을 재부팅 합니다.

 

Redis 로그 파일을 열어 위의 두가지 경고가 사라졌는지 확인 합니다.

 

애플리케이션 서버로 전환 후 다음 작업을 수행하여 Redis서버와 통신 할 수 있는지 확인 합니다.

 

  • 공식 레포지토리에서 redis-tools 패키지가 제공하는 redis-cli를 설치 합니다.
  • redis-cli를 이용하여 Redis 서버에 연결 합니다.
  • 연결에 성공하면 다음과 같은 Redis 명령 프롬프트가 표시 됩니다.
  • 작동하는지 확인하기 위해 몇가지 Redis 명령을 입력 합니다.
  • 다음 결과가 표시되면 Redis가 정상적으로 설치되었습니다.