IT/etc

[Redis] Mac M1에서 Embedded Redis를 실행하지 못하는 이유와 해결 방법

토희 2023. 10. 31. 14:23
728x90

이번에 회사 팀원들끼리 Redis로 채팅 기능을 구현해보기로 했다

Embedded Redis config는 셋팅해서 똑같은 환경에서 작업하기로 했는데,

 

다들 분들은 오류 없이 스프링이 실행되는 방면, 나는 실행하자마자 오류가 발생하였다

 

M1에서 Embedded Redis를 실행하려고 해서 였다

왜 이런 오류가 발생할까

 

M1에서 Embedded Redis 실행하지 못하는 이유

Redis가 M1의 ARM 프로세서 아키텍처에서 실행되는 것을 지원하지 않기 때문이다

Embedded Redis는 애플리이션이 실행될 때 자동으로 시작되고, 애플리케이션이 종료될 때 Redis도 종료된다

하지만 Redis가 ARM 프로세서 아키텍처에서 실행되지 않기 때문에 M1에서 Embedded Redis 실행 할 수 없다

 

 

 

그럼 어떻게 해야할까

해결방법

직접 Redis를 터미널에서 다운받았다

 

- Redis 다운로드

wget https://download.redis.io/releases/redis-6.0.10.tar.gz

 

wget 명령어가 오류가 난다면 brew install wget

 

 

- 다운 받은 Redis 파일 압축 해제

tar -xzf redis-6.0.10.tar.gz

 

- 압축을 해제한 Redis 디렉토리로 이동

cd redis-6.0.10

 

- Redis를 컴파일한다. make는 소스 코드에서 실행파일을 만드는 명령어이다

make

 

- Redis 서버 시작

src/redis-server

 

권한 오류가 발생하면 앞에 sudo 를 붙혀 sudo src/redis-server로 

 

 

 

RedisConfig.java

@Configuration
public class RedisConfig {
   @Bean
    public RedisConnectionFactory redisConnectionFactory(){
       return new LettuceConnectionFactory("localhost", 6379);
   }
}

 

 

 

이렇게 하고 나서, 실행하면 잘 작동되었다!

오늘도 하나 배웠네~ 끝👍

 

 

 

Redis 명령어 정리

https://makeaplayground.tistory.com/331

 

[Redis] 레디스 명령어 정리 redis-cli

지난 글에서 M1에서 Embedded Redis 실행이 안되는 이유를 알아봣다 터미널에서 직접 다운 받은 레디스를 활용하는 방법을 알아보도록 하겠다 우선 레디스 서버를 실행하지 않고, 인텔리제이를 실행

makeaplayground.tistory.com

 

 

 

참고 블로그

https://green-bin.tistory.com/78

 

Spring - Mac M1(ARM)에서 Embedded Redis를 실행하지 못하는 이유와 해결 방법

배경 JWT를 활용한 Spring Security를 작업하면서 Refresh Token을 저장하기 위해서 처음으로 Redis를 Spring에 적용한 후, 로컬 환경과 테스트에서 사용할 Embedded Redis를 힘들게 적용했다. 테스트도 무사히

green-bin.tistory.com

 

728x90