블로그

[Web] Oracle Cloud를 활용한 Web Server 환경 구축 (3) - DB Server 본문

프로그래밍/Web

[Web] Oracle Cloud를 활용한 Web Server 환경 구축 (3) - DB Server

이동헌 2024. 4. 29. 22:44

지난 시간에 이어, 이번엔 DB전용 서버 환경을 구축해보자.

  Oracle DB를 사용할 수 있지만, 나는 Redis를 활용해 볼 생각이기 때문에 서버를 하나 만들었다. 인스턴스 생성은 지난번과 동일하게 진행하자.

 

우선 서버 생성 후 ssh로 로그인하자.

ssh -i "ssh_file_path" UserName@ServerIP

 

접속 후 바로 apt-get 업데이트를 진행한다.

sudo apt-get update
sudo apt-get upgrade

 

Redis를 설치한다.

sudo apt-get install redis-server

 

설치 확인은 역시나 버전 체크만한게 없다.

 

  다음으로 Redis는 메모리 기반으로 동작하기 때문에 Redis가 사용 가능한 최대 메모리를 지정해주자. 나는 클라우드의 메모리 최대치가 1GB인데, 64bit 기반 운영체제는 가상메모리까지 활용하기 때문에(메모리 스왑) 아마 사용 가능하지 않을까? 하는 생각이다. 또, 이 제한을 넘어갈 때 메모리 정리 방법을 메모리 정책 옵션을 통해 설정할 수 있다.

다행히도 나의 클라우드 속 우분투는 64bit였다.
maxmemory 수정, 주석 부분을 해제할까 했지만 그대로 두고 싶었다.

 

여기서 maxmemory-policy는 다음과 같다(LRU : Least Recently Used).

- volatile-lru : TTL expire set이 설정된 값 중 LRU 알고리즘 기반으로 key를 삭제

- allkeys-lru : LRU 기반으로 key 삭제

- volatile-random : TTL expire set이 설정된 값 중 랜덤으로 key 삭제

- allkeys-random : 랜덤으로 key 삭제

- volatile-ttl : TTL expire set이 설정된 값 중 TTL 만료 시간이 가장 가까운 값부터 삭제

- noeviction : 캐시를 삭제하지 않음, 캐시가 가득차면 쓰기 실패 및 오류 반환

 

이제 Redis를 재시작해주면 설정이 적용된다.

sudo systemctl restart redis-server.service

 

Redis는 6379 포트를 사용한다고 한다. 확인해보면 다음과 같이 나온다.

 

예제로 Redis에 접속해보자.

redis-cli

 

 

예제 입력 예시는 다음과 같다.

- set [key] [value] : key-value 추가

- get [key] : key에 해당하는 value 반환

- keys *ll* : ll이 포함된 key를 모두 검색

- keys * : 전체 키 검색

  하지만 보통 redis-cli를 직접 사용하지 않고, 파이썬을 활용하여 접근하는 경우가 많다고 한다. 다음 시간에는 python을 활용한 방법을 공부해보자.

 

 

참고 레퍼런스

https://hayden-archive.tistory.com/429