DATABASE

[ DATABASE ] - Redis 사용

algml0703 2022. 6. 2. 11:15
반응형

Redis (Remote Dictionary Server)란?

Redis 문서에 의한면 Redis는 데이터베이스, 캐시, 메시지 브로커 및 스트리밍 엔진으로 사용되는 오픈 소스(BSD 라이선스), 인메모리 데이터 구조 저장소입니다.

  • 레디스는 키-값" 구조의 비정형 데이터를 저장하고 관리하기 위한 오픈소스 기반의 비관계형 데이터베이스 관계형 시스템으로 문자열, 해시, 목록, 집합, 정렬된 집합, 스트림 등 다양한 데이터 구조를 지원합니다.
  • 기존의 데이터베이스는 디스크에 직접 접근하기 때문에 서비스 사용자가 많아지면 서버에 부하를 줄 수 있지만, Redis의 경우 데이터를 메모리에 저장함으로써 서버의 부하를 감소시킵니다. 
  • Redis는 캐시 데이터 저장, 인증 토큰 저장, Ranking Board 등으로 사용됩니다.
  • 반면에 Redis는 서버에 장애가 나면 메모리가 날라가서 데이터가 손실될 위험도 존재합니다.

redis 설치

터미널에 아래의 명령어를 입력합니다..

brew install redis

redis 설치 확인

redis-server --version

* redis 삭제 후 재설치 하려는 경우 

brew uninstall redis

redis 실행

1. 서비스 실행

brew services start redis
redis-cli

 

기본 사용

- 데이터 저장

set key value

set name 'algml'

- 저장된 데이터 가져오기

get key

 

get name

* 아래와 같이 Authentication required. 로 작동 되지 않는 경우는 redis 설치시 비밀번호를 설정하여 발생한 문제입니다. 때문에 아래와 같이 auth [password]를 입력하면 redis 실행이 가능합니다.

auth [password]

비밀번호에 관한 정보는 brew info redis를 통해 redis.conf 파일의 위치를 파악후 해당 파일로 가서 찾을 수 있습니다.

brew info redis

redis.conf 파일이 /usr/local/etc/redis.conf에 위치해있음을 알 수 있습니다.

cd /usr/local/etc 폴더로 접근한 후 ls 명령어로 redis.conf 파일이 존재하는지 확인합니다.

redis.conf 파일 확인 후에 cat이나 vi를 이용하여 redis.conf에서 requirepass를 찾거나 grep -r 'requirepass' ./redis.conf 명령어를 통해 해당하는 내용을 찾을 수 있습니다.

* 파일 정보 얻기

brew info [서비스명]

 

ex) brew info redis

* cat과 vi

cat [대상 파일]
vi [대상 파일]

- cat 명령어는 기존에 파일 내용을 읽기만 가능한 상태로 열어줍니다.

- vi 명령어는 기존에 파일이 존재하는 경우에는 기존 파일을 열어주며, 존재하지 않는 경우에는 새로운 파일을 생성하여 줍니다. vi 명령어로 킨 파일은 읽기 수정 모두 가능합니다.

* 파일에서 특정 문자 찾기

grep -r '문자열' [파일위치]

ex) grep -r 'requirepass' ./redis.conf

2.  서비스 중단

brew services stop redis

 

출처

https://www.youtube.com/watch?v=mPB2CZiAkKM 

https://brunch.co.kr/@jehovah/20#comment

반응형