현재 프로젝트에서 redis를 적용해야 할 일이 생겼다.
인기 검색어를 구현해야 하는데, 이 과정에서 redis를 사용하여 인기 검색어를 구현하도록 할 것이다.
redis에 대한 부가적인 설명은 차후에 작성하는 것으로 하고
이 포스팅에서는 redis를 설치하고 이를 spring boot에서 사용하는 과정을 다룰 것이다.
원래는 AWS ec2에 redis 서버를 구축해야겠지만 현재 로컬에서 Redis를 사용하여 먼저 개발한 후 올릴 것이다.
- Docker 설치
- Redis 설정
- Redis 접속
위와 같은 과정으로 진행된다.
Docker에 redis 올려서 쓸 거라 Docker 설치 먼저!
https://docs.docker.com/desktop/install/mac-install/
에서 설치해주면 된다.
m1 pro 쓰고 있어서 그냥 m1 으로 받음.
Docker에 Redis image를 받아온 후 Redis를 run 해도 되지만,
redis-cli 또한 이용할 것이므로 두 개의 컨테이너를 구동하고 이 두 개의 컨테이너를 network로 연결해줘야 한다.
📍 Redis-cli를 사용하는 이유?
Redis cli에 대한 공식문서
The Redis command line interface (redis-cli) is a terminal program used to send commands to and read replies from the Redis server.
단순하게 Redis 사용을 더욱 편리하게 해주는 터미널 프로그램이다.
docker image pull redis
redis-cli랑 redis-server 사이에 network 생성
docker network create redis-network
후 network 생성 확인
docker network ls
docker run --name local-redis -p 6379:6379 --network redis-network -v redis_temp:/data -d redis:latest redis-server --appendonly yes
순서대로
1. local-radis 라는 이름으로 로컬-docker간 6379 포트 개방
2. redis-network라는 이름의 네트워크를 사용
3. 로컬의 redis_temp와 docker의 /data 연결
4. redis:latest image를 사용하여 백그라운드에서 서버 실행
현재 실행중인 Redis(Redis 컨테이너)에 Redis-cli로 접속
docker run -it --network redis-network --rm redis:latest redis-cli -h local-redis
-h 뒤에 붙은 컨테이너 명(local-redis)로 redis-cli를 실행하여 redis server에 접속.
--rm : 실행 시에, 컨테이너 id가 존재하면 삭제 후 run
위와 같이 6379 포트를 이용하여 Redis server 접속 성공.
참고한 포스팅
https://blossom6729.tistory.com/15
https://littleshark.tistory.com/68