redis数据结构之Hash

Redis数据结构之Hash

概述

Redis中的Hashes类型可以看成具有String Key和String Value的map容器。所以该类型非常适合于存储值对象的信息。如Username、Password和Age等。如果Hash中包含很少的字段,那么该类型的数据也将仅占用很少的磁盘空间。每一个Hash可以存储4294967295个键值对。

Hash相关功能(Redis客户端命令)

1)hset key field value:

为指定的key设定field/value对(键值对)。

2)hgetall key:

获取key中的所有filed-vaule

3)hsetnx key field value

如果key不存在进行插入,如果key和field都存在不进行插入

4)hget key field:

返回指定的key中的field的值

5)hmset key fields:

设置key中的多个filed/value

6)hmget key fileds:

获取key中的多个filed的值

7)hexists key field:

判断指定的key中的filed是否存在

8)hlen key:

获取key所包含的field的数量

9)hincrby key field increment:

设置key中filed的值增加increment,如:age增加20

10)hdel key field1 field2…

删除指定的key中的指定的字段的和对应的值

11)hkeys key

获取指定的key中所有的字段

12)hvals key

获取指定的key中所有的value

13)hincrbyfloat key field value

给指定的字段添加浮点数的值

Hash相关功能(Jedis客户端API)

Redis java 客户端jedis

java测试代码如下,(maven项目的创建与pom.xml配置,还有jedis对象的创建都在redis数据结构之String

/**
     *Hash类型数据的API测试
     */
    @Test
    public void testHash(){
        jedis.hset("jedis-h-key-01","name","zhangsan");

        String name = jedis.hget("jedis-h-key-01", "name");
        System.out.println(name);

        HashMap<String, String> fields = new HashMap<String, String>();
        fields.put("password","123");
        fields.put("age","18");
        jedis.hmset("jedis-h-key-01",fields);

        Set<String> hkeys = jedis.hkeys("jedis-h-key-01");
        System.out.println("所有的key如下:");
        for(String key :hkeys){
            System.out.println(key);
        }

        List<String> hvals = jedis.hvals("jedis-h-key-01");
        System.out.println("所有的val如下:");
        for(String val:hvals){
            System.out.println(val);
        }

        System.out.println("一次性取出所有的key-value对:");
        Map<String, String> hgetAll = jedis.hgetAll("jedis-h-key-01");
        Set<Map.Entry<String, String>> entrySet = hgetAll.entrySet();
        for (Map.Entry<String,String> ent:entrySet){
            System.out.println(ent.getKey()+":"+ent.getValue());
        }

    }
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值