Jedis를 이용한 Redis 따라가기

Posted 2012. 2. 28. 01:01
Redis란?
Redis is an open source, advanced key-value store. It is often referred to as a data structure server since keys can contain strings, hashes, lists, sets and sorted sets.

처음 Redis를 접한건 cache system에 대한 고려로 memchached를 관심두고 있을때였다. 그리고는 다시 개발에 쫓겨서 뒷전...
그러다가 지난 12회 JCO 컨퍼런스에 memchached vs Redis를 비교하는 세션을 듣고 다시 관심목록에 추가.

앞으로 시스템에 도입하는 그날까지 틈틈히 테스트해 보며 연구(?)를 해보자.

오늘은 첫번째로 Redis 관련 글을 찾아보았다.
Google과 Naver를 검색해 본 결과물은....

1. 조급하지말고 천천히 : http://dol9.tistory.com/150
2. Redis로 빠르고 가벼운 웹어플리케이션 만들기(KTH 개발자 블로그) : 링크
3. Saltfactory : NoSQL redis - Commands - key 편 : 링크
4. slideshare.net 에 올라온 중국 개발자 슬라이드 : 링크
5. 그리고 Redis 홈페이지 : redis.io 

1. 설치 (CentOS 6.2에 설치함)
홈페이지에서 최신 redis (현재 2.4.8버전) 를 다운로드 한다. 다운로드 링크
# wget http://redis.googlecode.com/files/redis-2.4.8.tar.gz
# tar xzf redis-2.4.8.tar.gz
# cd redis-2.4.8
# make

위의 설치과정은 redis 다운로드 페이지에 나온 그대로다.
하지만 모든 패키지가 다 설치되어 있지 않은 관계로 make가 이루어 지지 않음.
c로 개발되어진 redis를 install하려면 gcc 와 같은 컴파일러가 설치되어 있어야 함.
# yum install -y gcc

그리고 make를 하면 정상적으로 설치 완료.

아무생각없이 /root/ 밑에 설치한 관계로 실행위치는
/root/redis-2.4.8/src/redis-server
카산드라와 같이 fore-ground back-ground 에서 실행하는 옵션이 안보인다.
홈페이지 나와있는데로 따라하며 테스트... 요기서는 위의 검색글중 3번 Saltfactory 블로그 글을 참고함.

재미없는 command 명령어를 하다가 Redis Clients를 찾았다. 난 자바로 밥먹고 사니까 자바클라이언트를 설치해서 빨리 개발에 적용하고자 하는 마음뿐임.
각 언어별로 다양한 client가 개발되어 있다.
Jedis Repository xetorthio
JRedis RepositoryHomepage SunOf27
JDBC-Redis RepositoryHomepage mavcunha
RJC Repository e_mzungu 
위의 제품중 당연히 별표가 붙어있는 Jedis를 선택함.
 Repository 로 이동하여 소스  다운로드하면 된다.
난 아직까지도 svn만 사용하는데, 요즘 대세가 되어 가고 있는 github로 소스를 배포한다. github 설치하기 귀찮으므로 zip 파일을 다운로드 함.
다운로드 파일 풀어보니 pom.xml이 보인다.  maven...
maven plugin도 없는데... 여기선 어쩔수 없이 Maven Plugin 설치하고 다음을 진행한다. (오늘따라 MarketPlace가 무자게 시간 잡아먹음)

JUnit Test 파일 하나씩 열어서 테스트 돌려보았지만 전부 Fail & Error  ㅠ.ㅠ;;;

눈 빠지게 찾은소스가
redis.clients.jedis.tests.HostAndPortUtil & redis.clients.jedis.tests.JedisPoolTest
defaulthnp1.host 를 서버 IP로 변경하고  Test를 돌려보지만 에러...

jedis.auth("foobared");
인증을 요구하는 부분에서 에러가 발생한다.

여기서 소스에 함께 포함되어 있는 redis.conf, redis2.conf 가 눈에 들어옴.
redis.conf 복사해서
/root/redis-2.4.8/conf 를 만들고 넣어준다.
실행할때 위의 설정파일을 인식하라고 옵션 넣어주면 됨.

# nohup ./src/redis-server /root/redis-2.4.8/conf/redis.conf &
#tail -f nohup.out<== 요렇게 하고 nohup파일을 계속 보고 있으면 로그파일이 올라온다.

다시 JUnit Test 돌리니 드디어 전부 초록색...

오늘은 여기까지 하고 끝내자.

다음은 Master-Slave 설정을 해서 적용시켜 보도록 한다.
틈틈히 Command 명령어는 익혀야 할듯하다.




'DBMS > NoSQL' 카테고리의 다른 글

MongoDB 오픈세미나 후기  (0) 2012.08.31
Cassandra 시작시 MalformedURLException 발생  (0) 2012.04.12
MongoDB Naming Rule  (0) 2011.11.30
MongoDB GUI Tool for Mac osx : MongoHub  (0) 2011.11.23
MongoDB 컴포넌트 목록  (0) 2011.10.03