윈도우에 redis를 설치해 보겠다.
내 윈도우 환경이다.

윈도우에 파일을 받아서 설치하는법과 wsl을 설치해서 하는법이 있다. 나는 wsl로 설치해보겠다.
설치 git : https://github.com/microsoftarchive/redis/releases

저 사이트에서는 3점대 버전으로 파일을 받아 실행하는 식으로 redis 를 설치할 수 있다.
다음은 공식홈페이지에 나온 설치방법이다.
https://redis.io/docs/latest/operate/oss_and_stack/install/install-redis/install-redis-on-windows/







redis-cli
info

명령어 정리
curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list
sudo apt-get update
sudo apt-get install redis
redis-cli
info








root 로 전환 후 /etc/redis에 redis.conf 파일이 설정 파일이다.

외부접속
bind의 127.0.0.1이 로컬만 접속인데 외부 접속을 허용하려면
bind를 0.0.0.0 ::1로 변경해줘야한다.


port
port 번호가 변경된다.

timeout
외부에서 접속 후 특정시간동안 명령이 없으면 자동 close 되는 시간이다.
초 단위이다. 0이면 자동종료를 하지않고 600등으로 입력하면 어플리케이션이나 클라이언트에서 최초 연결 후 명령이 10분동안 없으면 연결이 자동종료된다.

requirepass
처음에 주석으로 되어있는데 주석을 해제하고
requirepass XXX 를 입력하면 redis-cli 접속시 비밀번호를 필요로 한다. redis-cli, redis desktop manager, springboot 접속시
requirepass가 선언되어있다면 비밀번호를 입력해야 한다.

thread
기본적으로 redis는 명령실행과 네트워크 I/O가 싱글스레드로 동작하는데
io-threads를 설정하면 명령실행 자체는 싱글스레드로 처리하지만 네트워크 I/O를 멀티쓰레드로 처리할 수 있다고한다.
io-threads-do-reads는 읽기 관련된 멀티쓰레드 설정이고
io-threads는 쓰기 관련 멀티 쓰레드 설정이다.
io-threads를 on하면 많은 클라이언트의 요청을 멀티쓰레드로 처리할 수 있고 그만큼 컨텍스트 스위칭이 발생한다고 한다.

maxmeory
메모리를 얼마나 사용할지 정하는 옵션이다. 기본값은 0 이다.
나는 2gb로 바꿨다.


maxmoery-policy
메모리가 다 찼을때 삭제하는 정책이다. 새로운 키가 들어왔을때 어떻게할지 정하는 정책이다.
나는 allkeys-lru로 선언을 했다.

TTL - redis에 저장시 유효기간을 설정할 수 있는 옵션이다.
유효시간 후 자동 삭제됨.
유효시간을 설정하지 않으면 -1로 저장됨.(초단위이다)
아래 사진을 보면 57초와 -1을 확인 할 수 있다.
명령어 혹은 어플리케이션 레벨에서 TTL 지정이 가능하다.
set key value 단위 시간
ex) set testkey1 testvalue1 EX 60
redis-cli 명령어

redis desktop 확인


springboot




설정을 다 하고 재실행 하였다.

desktop 접속



redis-cli 접속

springboot

기존에는 host와 port만으로 접속된다.
하지만 비밀번호 설정시에는 명령어 실행시 오류가 발생한다.
테스트코드

기존설정방식.

실행

비밀번호 추가

실행

