Redis——Jedis中hash类型使用

本文介绍了Redis中的哈希操作,包括hset用于添加键值对,hget获取值,hexists检查键是否存在,hdel删除键,以及hkeys和hvals获取键和值。还讨论了hmset和hmget的使用,涉及批量操作和数据结构转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

hset 和 hget

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

hexists

返回值是布尔类型

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

hdel

返回值代表删除成功的元素的个数,类型是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 和 hvalues

其中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 和 hmget

其中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]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值