이번에 회사 팀원들끼리 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
'IT > etc' 카테고리의 다른 글
[Redis] 레디스 명령어 정리 redis-cli (0) | 2023.10.31 |
---|---|
파이어베이스 실시간 데이터베이스로 채팅 구현2 (코드) (0) | 2023.09.05 |
nohup: ignoring input and appending output to 'nohup.out' (0) | 2023.09.05 |
파이어베이스 실시간 데이터베이스로 채팅 구현1 (설정, 셋팅) (0) | 2023.09.05 |
vi 파일 맨 끝으로 이동 (0) | 2023.08.24 |