hset可以逐一添加key和value,也可以通过map类型来直接添加多组fields
而hget则返回string类型,如果元素不存在则返回null
private static void hsetAndHget(Jedis jedis) {
jedis.flushAll();
jedis.hset("key", "f1", "111");
Map<String, String> fields = new HashMap<>();
fields.put("f2", "222");
fields.put("f3", "333");
jedis.hset("key", fields);
String result = jedis.hget("key", "f1");
System.out.println(result);
result = jedis.hget("key", "f2");
System.out.println(result);
result = jedis.hget("key", "f100");
System.out.println(result);
}
控制台结果:
111
222
null
返回值是布尔类型
private static void hexists(Jedis jedis){
jedis.flushAll();
jedis.hset("key", "f1", "111");
boolean result = jedis.hexists("key", "f1");
System.out.println(result);
result = jedis.hexists("key", "f100");
System.out.println(result);
}
控制台输出:
true
false
返回值代表删除成功的元素的个数,类型是long
public static void hdel(Jedis jedis){
jedis.flushAll();
jedis.hset("key", "f1", "111");
long result = jedis.hdel("key", "f1");
System.out.println(result);
System.out.println(jedis.hexists("key", "f1"));
}
控制台输出
1
false
其中hkeys返回的是set类型,而hvals返回的是list类型
public static void hkeysAndhvals(Jedis jedis){
jedis.flushAll();
jedis.hset("key", "f1", "111");
jedis.hset("key", "f2", "222");
jedis.hset("key", "f3", "333");
Set<String> fields = jedis.hkeys("key");
List<String> values = jedis.hvals("key");
System.out.println(fields);
System.out.println(values);
}
控制台打印:
[f1, f2, f3]
[111, 222, 333]
其中hmset需要通过map来同时添加多个元素
private static void hmgetAndhmset(Jedis jedis){
jedis.flushAll();
Map<String, String> map = new HashMap<>();
map.put("f1", "111");
map.put("f2", "222");
map.put("f3", "333");
jedis.hmset("key", map);
List<String> values = jedis.hmget("key", "f1", "f2");
System.out.println(values);
}
控制台打印
[111, 222]