빅데이터/Redis
Eclipse Redis Hash
약산게르마늄
2020. 4. 8. 11:05
package com;
import java.util.HashMap;
import java.util.Map;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
public class RedisHashApp {
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
System.out.println(" ======================== RedisHashApp START ======================== \n");
JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
JedisPool pool = new JedisPool(jedisPoolConfig, "127.0.0.1", 6379);
Jedis jedis = pool.getResource();
jedis.auth("redis6379");
Map<String, String> smithMap = new HashMap<String, String>();
smithMap.put("empno","7369");
smithMap.put("ename","SMITH");
smithMap.put("job","CLERK");
smithMap.put("mgr","7902");
smithMap.put("hiredate","1980-12-17 00:00:00");
smithMap.put("sal","800");
//smithMap.put("comm", null);//value sent to redis cannot be null
smithMap.put("deptno","20");
Map<String, String> allenMap = new HashMap<String, String>();
allenMap.put("empno","7499");
allenMap.put("ename","SALESMAN");
allenMap.put("job","ALLEN");
allenMap.put("mgr","7698");
allenMap.put("hiredate","1981-02-20 00:00:00");
allenMap.put("sal","1600");
allenMap.put("comm", "300");
allenMap.put("deptno","30");
Map<String, String> wardMap = new HashMap<String, String>();
wardMap.put("empno","7521");
wardMap.put("ename","WARD");
wardMap.put("job","SALESMAN");
wardMap.put("mgr","7698");
wardMap.put("hiredate","1981-02-22 00:00:00");
wardMap.put("sal","1250");
wardMap.put("comm", "500");
wardMap.put("deptno","30");
Map<String, String> kingMap = new HashMap<String, String>();
kingMap.put("empno","7839");
kingMap.put("ename","KING");
kingMap.put("job","PRESIDENT");
//kingMap.put("mgr","");//redis 빈칸이 들어감
kingMap.put("hiredate","1981-02-22 00:00:00");
kingMap.put("sal","5000");
//smithMap.put("comm", "");//redis 빈칸이 들어감
kingMap.put("deptno","10");
jedis.hmset("smithMap",smithMap);//하나의 key에 여러개의 field와 value를 동시에 저장
jedis.hmset("allenMap",allenMap);
jedis.hmset("wardMap",wardMap);
jedis.hmset("kingMap",kingMap);
System.out.println("jedis.hgetAll(\"smithMap\") : "+jedis.hgetAll("smithMap"));//key에 대한 모든 field와 value를 조회
System.out.println("jedis.hgetAll(\"allenMap\") : "+jedis.hgetAll("allenMap"));
System.out.println("jedis.hgetAll(\"wardMap\") : "+jedis.hgetAll("wardMap"));
System.out.println("jedis.hgetAll(\"kingMap\") : "+jedis.hgetAll("kingMap"));
System.out.println();
System.out.println("jedis.hkeys(\"smithMap\") : "+jedis.hkeys("smithMap"));//key에 대한 모든 field만 조회
System.out.println("jedis.hkeys(\"allenMap\") : "+jedis.hkeys("allenMap"));
System.out.println("jedis.hkeys(\"wardMap\") : "+jedis.hkeys("wardMap"));
System.out.println("jedis.hkeys(\"kingMap\") : "+jedis.hkeys("kingMap"));
System.out.println();
System.out.println("jedis.hlen(\"smithMap\") : "+jedis.hlen("smithMap"));//key에 대한 모든 field 개수 조회
System.out.println("jedis.hlen(\"allenMap\") : "+jedis.hlen("allenMap"));
System.out.println("jedis.hlen(\"wardMap\") : "+jedis.hlen("wardMap"));
System.out.println("jedis.hlen(\"kingMap\") : "+jedis.hlen("kingMap"));
System.out.println();
System.out.println("jedis.hvals(\"smithMap\") : "+jedis.hvals("smithMap"));//key에 대한 모든 value만 조회
System.out.println("jedis.hvals(\"allenMap\") : "+jedis.hvals("allenMap"));
System.out.println("jedis.hvals(\"wardMap\") : "+jedis.hvals("wardMap"));
System.out.println("jedis.hvals(\"kingMap\") : "+jedis.hvals("kingMap"));
System.out.println();
System.out.println("jedis.hmget(\"smithMap\",\"empno\",\"ename\") : "+jedis.hmget("smithMap","empno","ename"));//해당 key의 특정 field의 value만 조회
System.out.println("jedis.hmget(\"allenMap\",\"job\",\"mgr\") : "+jedis.hmget("allenMap","job","mgr"));
System.out.println("jedis.hmget(\"wardMap\",\"hiredate\",\"sal\") : "+jedis.hmget("wardMap","hiredate","sal"));
System.out.println("jedis.hmget(\"kingMap\",\"empno\",\"ename\",\"job\",\"sal\") : "+jedis.hmget("kingMap","empno","ename","job","sal"));
System.out.println();
System.out.println("jedis.hexists(\"smithMap\", \"comm\") : "+jedis.hexists("smithMap", "comm"));//해당 key의 특정 field 여부 조회
System.out.println("jedis.hexists(\"allenMap\", \"comm\") : "+jedis.hexists("allenMap", "comm"));
System.out.println();
jedis.hdel("allenMap", "comm");//해당 key의 특정 field 삭제
System.out.println("jedis.hdel(\"allenMap\", \"comm\")");
System.out.println();
System.out.println("jedis.hgetAll(\"allenMap\") : "+jedis.hgetAll("allenMap"));
System.out.println("jedis.hexists(\"allenMap\", \"comm\") : "+jedis.hexists("allenMap", "comm"));
System.out.println();
jedis.hset("allenMap", "comm", "123");//해당 key의 특정 field 저장
System.out.println("jedis.hset(\"allenMap\", \"comm\", \"123\");");
System.out.println();
System.out.println("jedis.hgetAll(\"allenMap\") : "+jedis.hgetAll("allenMap"));
System.out.println("jedis.hexists(\"allenMap\", \"comm\") : "+jedis.hexists("allenMap", "comm"));
jedis.flushAll();
jedis.close();
pool.destroy();
System.out.println("\n ======================== RedisHashApp END ======================== ");
}catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
console
======================== RedisHashApp START ========================
jedis.hgetAll("smithMap") : {mgr=7902, ename=SMITH, empno=7369, job=CLERK, hiredate=1980-12-17 00:00:00, deptno=20, sal=800}
jedis.hgetAll("allenMap") : {mgr=7698, ename=SALESMAN, comm=300, empno=7499, job=ALLEN, hiredate=1981-02-20 00:00:00, deptno=30, sal=1600}
jedis.hgetAll("wardMap") : {mgr=7698, comm=500, ename=WARD, empno=7521, job=SALESMAN, hiredate=1981-02-22 00:00:00, deptno=30, sal=1250}
jedis.hgetAll("kingMap") : {ename=KING, empno=7839, job=PRESIDENT, hiredate=1981-02-22 00:00:00, deptno=10, sal=5000}
jedis.hkeys("smithMap") : [mgr, ename, empno, job, hiredate, deptno, sal]
jedis.hkeys("allenMap") : [mgr, ename, comm, empno, job, hiredate, deptno, sal]
jedis.hkeys("wardMap") : [mgr, comm, ename, empno, job, hiredate, deptno, sal]
jedis.hkeys("kingMap") : [ename, empno, job, hiredate, deptno, sal]
jedis.hlen("smithMap") : 7
jedis.hlen("allenMap") : 8
jedis.hlen("wardMap") : 8
jedis.hlen("kingMap") : 6
jedis.hvals("smithMap") : [7369, 20, 1980-12-17 00:00:00, SMITH, 7902, CLERK, 800]
jedis.hvals("allenMap") : [SALESMAN, 7698, 1981-02-20 00:00:00, 7499, 1600, ALLEN, 30, 300]
jedis.hvals("wardMap") : [7521, 1981-02-22 00:00:00, 1250, SALESMAN, 7698, 500, WARD, 30]
jedis.hvals("kingMap") : [7839, 1981-02-22 00:00:00, 10, PRESIDENT, 5000, KING]
jedis.hmget("smithMap","empno","ename") : [7369, SMITH]
jedis.hmget("allenMap","job","mgr") : [ALLEN, 7698]
jedis.hmget("wardMap","hiredate","sal") : [1981-02-22 00:00:00, 1250]
jedis.hmget("kingMap","empno","ename","job","sal") : [7839, KING, PRESIDENT, 5000]
jedis.hexists("smithMap", "comm") : false
jedis.hexists("allenMap", "comm") : true
jedis.hdel("allenMap", "comm")
jedis.hgetAll("allenMap") : {mgr=7698, ename=SALESMAN, empno=7499, job=ALLEN, hiredate=1981-02-20 00:00:00, deptno=30, sal=1600}
jedis.hexists("allenMap", "comm") : false
jedis.hset("allenMap", "comm", "123");
jedis.hgetAll("allenMap") : {mgr=7698, ename=SALESMAN, comm=123, empno=7499, job=ALLEN, hiredate=1981-02-20 00:00:00, deptno=30, sal=1600}
jedis.hexists("allenMap", "comm") : true
======================== RedisHashApp END ========================