AWS EC2 Ubuntu 20.04 LTS 버전에 Redis 설치

# OS 버전 확인
lsb_release -dc
Description:    Ubuntu 20.04.3 LTS
Codename:       focal

1. Redis Server 패키지 설치하기

sudo apt-get install redis-server

1-1. Redis Server 패키지 설치가 완료되면 버전 확인

sudo redis-server --version

2. Redis Server 설정

# OS .conf 경로
sudo vi /etc/redis/redis.conf
  • redis 접속 비밀번호
  • redis에 접속 가능한 ip 주소
  • redis가 사용할 min/max 메모리
  • 메모리가 가득 찼을 때 데이터 교체 알고리즘 등등..

2-1. Redis Server 메모리 설정

설정 파일에서 maxmemory 옵션으로 설정

max 메모리 값 만큼의 용량이 확보

maxmemory <bytes> 라인의 주석(#) 해제하고 <bytes> 부분에 원하는 max 메모리 값을 입력

데이터 단위 정보 까지 포함 (ex: maxmemory 1gb, 1g, 1mb, 1m, 1kb, 1k)

2-2. Redis Server 데이터 교체 알고리즘 설정

maxmemory-policy 옵션으로 설정.

maxmemory-policy  라인의 주석(#) 해제하고 원하는 데이터 교체 알고리즘 값을 넣습니다. Ex: 모든 키에 대해서 사용된 지 가장 오래된 데이터를 삭제하는 allkeys-lru 알고리즘

가능한 교체 알고리즘의 목록과 설명은 https://redis.io/topics/lru-cache <<Eviction Policies 부분 확인

정책명 설명

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

2-3. Redis Server 외부 접속 설정

외부 접속 설정 ip 정보는 bind 옵션으로 설정 가능

bind 값 수정

2-4. Redis Server 패스워드 설정

SECURITY 영역 이동 requirepass <비밀번호> 라인(#)주석 해제 후 설정

2-5. Redis Server Port 설정

2-6. Redis Server Port Bind 확인

ubuntu@ip-172-31-59-154:/etc/redis$ sudo ps -ef | grep redis
redis    2859926       1  0 16:55 ?        00:00:00 /usr/bin/redis-server 0.0.0.0:6379
ubuntu   2862300 2715715  0 17:02 pts/0    00:00:00 grep --color=auto redis

3. Redis Streams Consumer Groups 생성

 
sudo redis-cli
6379> XGROUP CREATE webhook group-1 $ MKSTREAM

3-1. Redis Server 설정 후 서비스 재 시작

sudo systemctl stop redis-server
sudo systemctl start redis-server
sudo systemctl status redis-server
sudo systemctl restart redis-server

 


이번에 정리한 내용은 C# 에서 StackExchange.Redis 를 


이용하여 Redis Connection 및 Data Set, Get 동작 을 정리 하였습니다.




1. 새 프로젝트에서 Windows Forms 응용 프로그램 생성.






2. NuGet 패키지 관리자 에서 StackExchange.Redis 검색 및 설치를 합니다.


- 안정적인 최신 버전인 1.1.608 버전을 설치 하였습니다.








3. Redis Class 추가





- Redis Class 에 다음과 같은 코드를 추가 합니다.

  + using StackExchange.Redis 
  + Init Mathod > Redis Connection 동작
  + GetString Mathod > string data select

  + SetString Mathod > string data save




4. Form에 컨트롤 추가

  - key, value 를 입력할 textbox와 결과를 출력할 result textbox 를 추가 합니다.

  - connection, set, get 에 사용할 button 을 추가 합니다.




5. 컨트롤 이벤트 추가

  - connection 버튼을 두번클릭 하여 이벤트를 추가 하고, Redis Connection 동작을 추가 합니다.





  - set 버튼을 두번클릭 하여 이벤트를 추가 하고, Redis Data Set 동작을 추가 합니다.




  - get 버튼을 두번클릭 하여 이벤트를 추가 하고, Redis Data Get 동작을 추가 합니다.





5. 동작 확인


- conection





- data set




- data get










* 정상적으로 Connection 및 Set, Get 동작을 확인 할 수 있습니다.



감사합니다.



출처 : https://infodbbase.tistory.com/135?category=552284


+ Recent posts