AWS의 Elasticache를 redis엔진으로 이용할 때 로컬에서 테스트할 redis 인스턴스를 설치하기로 했다
Elasticache를 redis로 이용할 때 AWS에서 지원하는 redis 버전이 여러 가지가 있는데 가장 최신 버전인 3.2.4를 이용할 것인데 docker hub에는 정확히 3.2.4 버전은 없기 때문에 3.2를 설치하였다
우선 docker redis 공식 이미지 중 3.2 버전으로 태그된 이미지를 다운받고 6379포트(redis 기본 통신 포트)를 연결한다
$ docker pull redis:3.2 $ docker run -d -p 6532:6532 redis:3.2
그 다음에 cradle dependency에 redis 클라이언트 라이브러리(Jedis)를 추가한다. 기반 프레임워크가 spring이기 때문에 spring-data-redis 라이브러리도 추가한다
dependencies { compile group: 'org.springframework.data', name: 'spring-data-redis', version: '1.8.3.RELEASE' compile group: 'redis.clients', name: 'jedis', version: '2.9.0' }
간단하게 Jedis로 연결 테스트를 해본다
/** * Elasticache 테스트 */ public class CacheTest { @Test public void jedis() { Jedis jedis = new Jedis("localhost"); jedis.set("Hello", "World"); Debug.line(jedis.get("Hello")); } }
잘 연결이 된듯 하다
[====================, [World]] by net.ion.airkjh.aws.CacheTest:jedis[2017/06/04-09:02:07] Process finished with exit code 0
Redis에 어떤 데이터들이 있는지 보고 싶었다. Web 기반 UI 툴을 찾다가 nodejs로 작성된 redis-commander를 찾았다
NPM
으로 간단히 설치할 수 있다
$ npm install -g redis-commander $ redis-commander
redis-commander는 8081 포트를 기본으로 사용한다. 브라우저로 들어가서 확인해 보자
관련 링크
https://redislabs.com/blog/so-youre-looking-for-the-redis-gui/
https://hub.docker.com/_/redis/