1. Redis
Redis는 REmote DIctionary System의 약자로, In Memory 방식의 Key-Value 형식을 가지고 있는 비정형 데이터 구조이다. Redis는 저장한 데이터를 메모리에 저장하고 조회하기 때문에, 빠른 데이터 조회가 장점 중 하나가 된다. 거기에, memcached와의 차이점은 다양한 자료 구조를 제공하는 것에 있다.
2. Redis의 자료 구조
Redis는 Key - Value 형태로 되어 있고, 이 Value에 대한 자료구조가 memcached보다 다양하다. Redis의 자료 구조는 String, Set, Sorted Set, Hash, List를 지원한다.
3. Redis의 장점
1) 처리 속도가 빠르다.
- In Memory 방식으로 데이터를 메모리에 저장하고 조회하기 때문에 빠르다.
2) 메모리 저장소 재사용성
- 메모리 저장소가 가득 차게 된다면, LRU(Least Recently Used) 알고리즘에 의해 최근에 가장 적게 사용된 것들을 지우고 거기에 저장이 된다.
4. Redis의 단점
1) 싱글 쓰레드 구성
- Redis는 싱글 쓰레드로 구성되어 있기 때문에, 1번에 1개의 작업 만을 수행한다.
- 그렇기에, Redis를 사용할 때 모든 데이터 조회나 모든 데이터 삭제를 할 때 사용을 조심해야 한다.
[스프링/Spring] 스프링(Spring) Redis 구축하는 방법
먼저, Local에서 Redis를 사용하려면 설치를 해야 한다. Windows 10에서 Redis 설치는 따로 글을 올리겠다. 여기서는 Redis가 설치되어 있다는 가정 하에 진행한다.
1. pom.xml에 dependency 추가하기
- 추가 후, [프로젝트 오른쪽 클릭] - [Maven] - [Update Project] 로 Maven Update 하기.
</dependencies>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
<scope>system</scope>
<systemPath>${webapp.lib}/jedis-2.9.0.jar</systemPath>
</dependency>
</dependencies>
2. 아래와 같이, 라이브러리를 import 하여 넣으면 된다.
- 맨 처음, 세션이 만들어 질 때, Redis에 넣을 때 아래와 같이 하면 된다.
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
Jedis jedis = new Jedis("127.0.0.1", 7777); // IP, PORT
jedis.auth(CommonConfig.REDIS_PSWD); // 비밀번호
jedis.set(Main Key, Value-Key, Value);
jedis.set(Key, Value);
jedis의 set은 Main Key를 위에 두고, 그 아래에 다시 Key - Value 형태로 받을 수 있고, 일반적인 형태의 Key - Value 형태로도 받을 수 있다.
최근댓글