Jedis
Java에서 Jedis Library를 사용하여 Redis에 연동한다.
https://mvnrepository.com/artifact/redis.clients/jedis/2.9.0
Connection Pool 및 set, get, 만료시간 지정
단순 테스트 용도라면 그냥 접근해도 좋지만, 성능을 염두하고 있다면 JedisPool을 사용해야 하며 Apache-common library도 함께 필요하다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub String host = "127.0.0.1"; int port = 6379; int timeout = 3000; int db = 0; JedisPoolConfig jedisPoolConfig = new JedisPoolConfig(); JedisPool pool = new JedisPool(jedisPoolConfig,host,port,timeout,null,db); Jedis jedis = pool.getResource(); //Connect 체크 System.out.println(jedis.isConnected()); jedis.set("key4", "6"); jedis.set("key5", "6"); // 데이터의 만료시간을 지정 jedis.expire("key5",1); System.out.println(jedis.get("key5")); try { Thread.sleep(3000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println(jedis.get("key5")); if( jedis != null ){ jedis.close(); } pool.close(); } } | cs |
>>true
>>6
>>null
list, hashes, set, sorted set 사용
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 | import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub String host = "127.0.0.1"; int port = 6379; int timeout = 3000; int db = 2; JedisPoolConfig jedisPoolConfig = new JedisPoolConfig(); JedisPool pool = new JedisPool(jedisPoolConfig, host, port, timeout, null, db); Jedis jedis = pool.getResource(); // list 형태로 입력 jedis.lpush("id", "choi"); jedis.lpush("id", "keach"); jedis.lpush("id", "hoo"); // 첫번 째 요소를 제거하고 꺼냄 System.out.println(jedis.lpop("id")); // 마지막 요소를 제거하고 꺼냄 System.out.println(jedis.rpop("id")); // hash 형태로 입력 Map<String, String> score = new HashMap<>(); score.put("kim", "220"); score.put("park", "240"); jedis.hmset("score", score); Map<String, String> getMap = jedis.hgetAll("score"); Set<String> key = getMap.keySet(); Iterator<String> keyIter = key.iterator(); while (keyIter.hasNext()) { System.out.println(getMap.get(keyIter.next())); } // Set 형태로 입력 jedis.sadd("user", "user00"); jedis.sadd("user", "user01"); jedis.sadd("user", "user02"); Set<String> user = jedis.smembers("user"); Iterator<String> iter = user.iterator(); while (iter.hasNext()) { System.out.println(iter.next()); } // Sorted Set 형태로 입력 jedis.zadd("sortedUser", 1000, "user00"); jedis.zadd("sortedUser", 1048, "user01"); jedis.zadd("sortedUser", 1024, "user02"); if (jedis != null) { jedis.close(); } pool.close(); } } | cs |
특이하게 봐야 할 곳이 있다면 SortedUser 키 .
user02의 경우 마지막에 추가했지만 확인해보면 가중치 값으로 인해 중간에 삽입된 것을 확인 할 수 있다.
마지막으로 키 삭제에 대한 코드는 다음과 같다.
jedis.del("key");
참고
'Cloud & NoSQL & Middleware > Redis' 카테고리의 다른 글
Redis 명령어 (0) | 2018.08.04 |
---|---|
Redis Pub/Sub Model (0) | 2018.07.01 |
MacOS에서 Redis 설치 및 실행 (0) | 2018.07.01 |
Redis 특징(3) - Redis Persistance (0) | 2018.06.29 |
Redis 특징 (2) - 지원 데이터 타입 (0) | 2018.06.29 |