AWS EC2에 설치한 Redis에 GUI 툴로 접속하기
위 링크로 가서 exe 파일을 다운 받아 설치한다.
설치 후 실행하면 SSH Tunnel을 지원하는 Redis GUI툴을 사용할 수 있다.
SSH Tunnel 쪽에는 EC2에 접속한다 생각하고 설정을 넣어주면 되고
Redis Host쪽에는 EC2 내부에서 Redis를 접속하면 localhost니까
포트를 건드리지 않았다면 그대로 두면 된다.
무료로 이렇게 멋진 Remote Redis GUI툴을 사용할 수 있다.
Terminal 탭으로 이동해서 CLI 환경으로 명령어를 날릴 수 도 있고
GUI 환경에서 클릭으로 키를 지우거나 키 값을 조회할 수도 있다.
이전에는 RDM 이라는 게 만힝 쓰였던 것 같은데 안타깝게도 현재는 유료로 바뀌었다.
CLI보다 GUI를 훨씬 좋아하는 나로서는 꼭 이 툴이 필요했다 ㅋㅋ 아 그러고보니 이름이 뭐지.
아 Medis 인가보다.
어쨋든 이렇게 EC2에 설치해뒀던 Redis에다가 원격 + GUI로 접속하기를 마쳤다.
AWS EC2에 설치한 Redis에 Java로 접속하기
spring-boot-starter-data-redis 를 사용한다.
SSH Tunnel을 이용한 접속방법은 확인하지 못해서
window용 Redis를 설치 후 로컬에서 테스트한다.
Eureka Client로 활용할 경우 해당 Host에 Redis를 설치하면 local에서 활용 가능하므로
그대로 진행해도 괜찮을 것 같다. 이하는 윈도우용 Redis 설치 링크
github.com/microsoftarchive/redis/releases
build.gradle
// Redis
// https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-redis
compile 'org.springframework.boot:spring-boot-starter-data-redis:2.3.1.RELEASE'
application.properties
# Redis Configuration
spring.redis.host=localhost
spring.redis.port=6379
RedisConfiguration.java
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.data.redis.core.ValueOperations;
import org.springframework.data.redis.repository.configuration.EnableRedisRepositories;
import org.springframework.data.redis.serializer.StringRedisSerializer;
@Configuration
@EnableRedisRepositories
public class RedisConfiguration {
@Bean
public RedisConnectionFactory redisConnectionFactory() {
LettuceConnectionFactory lettuceConnectionFactory = new LettuceConnectionFactory();
return lettuceConnectionFactory;
}
@Bean
public RedisTemplate<String, Object> redisTemplate() {
RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(redisConnectionFactory());
redisTemplate.setKeySerializer(new StringRedisSerializer());
redisTemplate.setValueSerializer(new StringRedisSerializer());
return redisTemplate;
}
@Bean
public StringRedisTemplate stringRedisTemplate() {
StringRedisTemplate stringRedisTemplate = new StringRedisTemplate();
stringRedisTemplate.setKeySerializer(new StringRedisSerializer());
stringRedisTemplate.setValueSerializer(new StringRedisSerializer());
stringRedisTemplate.setConnectionFactory(redisConnectionFactory());
return stringRedisTemplate;
}
@Bean
public ValueOperations<String, String> redis() {
return stringRedisTemplate().opsForValue();
}
}
RichController.java
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.ValueOperations;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class RichController {
@Autowired
private ValueOperations<String, String> redis;
@PostMapping(path="/redisTest")
public String redisTest(@RequestBody String redisKey) {
if(redis.get(redisKey) == null) redis.set(redisKey, "valueFor"+redisKey);
return redis.get(redisKey);
}
}
redis 객체로 간단하게 set, get 등의 명령어를 테스트해봤다.
'Server & Infra' 카테고리의 다른 글
Github Actions 를 이용한 CI 테스트 자동화 (2) | 2022.07.27 |
---|---|
AWS EC2에 오라클 설치, 접속, Scott&HR 활성화 (0) | 2021.01.24 |
AWS EC2에 Redis 설치하기 (0) | 2021.01.24 |
AWS RDS MySQL 서버 시간 변경 (0) | 2020.08.07 |
EC2 t2.micro 인스턴스 재부팅 후 jupyter notebook 재설정 (0) | 2020.08.07 |