第5章 Redis的Hash类型

hash的数据结构类似于Java里的类。key可以类似于类名

添加域
  • HSET key field value [field value …]

    往key中添加一个field,并给field填充value。

    返回值:返回fields的数量

    HashMap<String, String> fields = new HashMap<>();
    fields.put("id", "10001");
    fields.put("name", "tom");
    fields.put("age", "12");
    Long fieldsNum = resource.hset(key, fields);
    
  • HSETNX key field value

    field不存在时,才添加

    返回值:返回1,表示新的field被添加

    ​ 返回0,表示field已经存在

    Long exist = resource.hsetnx(key, "id", "1001");
    
  • HMSET key field value [field value …]

    批量设置field和value。功能和hset一样。适用于redis4.0版本之前

获取域和值
  • HGET key field

    获取field对应的value。

    返回值:field存在,返回value

    		   field不存在,返回nil
    
    String value = resource.hget(key, "id");
    
  • HGETALL key

    返回所有field对应的value

    返回值:key存在,返回field-value对

    ​ key不存在,返回空list

    Map<String, String> fieldValueMap = resource.hgetAll(key);
    
  • HKEYS key

    获取所有的field

    返回值:key存在,返回所有的field

    ​ key不存在,返回空list

    Set<String> fields = resource.hkeys(key);
    
  • HVALS key

    获取所有values

    返回值:key存在,返回所有的value

    ​ key不存在,返回空list

    List<String> values = resource.hvals(key);
    
删除域
  • HDEL key field [field …]

    移除指定的field。

    返回值:返回被移除的field的数量。

    ​ key不存在,返回0

    Long removedNum = resource.hdel(key, "id", "name");
    
域是否存在
  • HEXISTS key field

    返回field是否存在

    返回值:1,存在

    ​ 0,不存在

    Boolean exist = resource.hexists(key, "id");
    
域的数量
  • HLEN key

    返回field的数量

    返回值:返回filed的数量或者0

    Long fieldsNumber = resource.hlen(key);
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值