티스토리 뷰

Database/Redis

[ Redis ] 설치하기 - Ubuntu OS

과천노인복지센터 2023. 11. 11. 12:52
반응형

 

> Ubuntu OS 에 Redis 설치하기

Redis icon

 

 

[ 목적 ]

- Ubuntu에 Redis를 설치하고 redis.conf 파일 설정까지 소개한다.

 

[ 환경 ]

- Ubuntu OS 20.04 LTS

 

[ 방법 ]

1. Ubuntu 업데이트

sudo api-get update
sudo api-get upgrade

 

2. Redis Server 설치

sudo apt-get install redis-server

 

3. Redis Version 확인

redis-server --version

 

4. Redis Server 시작

redis-server

 

5. Redis Server 가 실행중인지 확인

redis-cli ping
#PONG

 

6. Redis Server 상태 확인

sudo service redis-server status

 

7. (필요시) Redis 서버 정지

redis-cli shutdown

 

8. (필요시) Redis 재시작

sudo systemctl restart redis-server.service

 

9. Redis의 기본Port 확인

netstat -nlpt | grep 6379

 

10. (필요시) Redis의 Backup 파일 위치 변경

sudo cp /var/lib/redis/dump.rdb /data/redis/backup

 

11. Redis 로그 보기

tail -f /var/log/redis/redis-server.log

 

12. redis-cli 로 접속 후 각종 명령어 실행

redis-cli

# get, set 명령어 실행 ]
set mykey “myvalue”
get mykey

# redis-server 정지 ]
redis-cli
auth yourpassword
shutdown save
sudo service redis_6379 start
shutdown save         # 서버 스탑, 지금까지 내용 저장
shutdown nosave       # 서버 스탑, 지금까지 내용 저장하지 않음

# redis의 AOF 상태 확인 
info persistence

# client list 확인
redis-cli
auth [password입력]
client list

 

13. redis.conf 파일 설정

sudo vi /etc/redis/redis.conf

# 최대 사용 메모리양을 정하기
maxmemory 30g
maxmemory-policy allkeys-lru
    | noeviction    | 기존 데이터 삭제 안함. 메모리 한계에 도달하면 OOM 오류 반환하며 새 데이터가 저장되지 않는다.
    | allkeys-lru   | 모든 것 중에서 LRU 기준으로 삭제하여 공간확보
    | volatile-lru  | expire set을 가진 것 중 LRU로 삭제하여 공간확보
    | volatile-ttl  | expire set을 가진 것 중 TTL이 짧은 것부터 삭제하여 공간확보
    | allkeys-random  | 모든 것 중에서 랜덤으로 삭제하여 공간확보
    | volatile-random | expire set을 가진 것 중에서 랜덤으로 삭제하여 공간확보

# 외부접속 허용 
bind 127.0.0.1 -> bind 0.0.0.0 으로 변경

# 방화벽 사용
protected-mode yes -> protected-mode no

# password 설정 
requirepass <password>

# AOF 사용
appendonly yes

# rdb 저장 주기
save 900 1 # 900초동안 적어도 1개의 데이터가 변경되면 RDB 파일을 생성한다.
save 300 10 # 300초동안 적어도 10개의 데이터가 변경되면 RDB 파일을 생성한다.
save 60 10000 # 60초동안 적어도 10000개의 데이터가 변경되면 RDB 파일을 생성한다.

# database 개수
databases 16

# appendfsync : AOF 파일을 기록하는 시점
always : 명령 실행 시 마다 AOF 파일에 기록합니다. 디스크 DB만큼 속도가 떨어지게 됩니다.
everysec : 1초마다 AOF 파일에 기록합니다. 1초 사이의 데이터가 유실될 수 있습니다.
no : AOF 파일에 기록하는 시점을 OS 가 지정합니다. 일반적으로 리눅스는 30초 간격으로 내려씁니다.

 

14. 완료. 위 명령어와 conf 설정만 이해하고 사용해도 사이드 프로젝트에서는 문제 없었다.

 

반응형