码迷,mamicode.com
首页 > 其他好文 > 详细

hash哈希操作

时间:2018-04-30 13:19:37      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:sha   bubuko   long   www.   red   存储   整数   alt   操作   

hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象.其操作跟String操作非常类似

 

1.将哈希表 key 中的字段 field 的值设为 value HSET key field value 

技术分享图片

2.获取存储在哈希表中指定字段的值。HGET key field 

技术分享图片

3.同时将多个 field-value (域-值)对设置到哈希表 key 中。HMSET key field1 value1 [field2 value2 ] 

技术分享图片

4.获取所有给定字段的值HMGET key field1 [field2] 

技术分享图片

5.查看哈希表 key 中,指定的字段是否存在。HEXISTS key field 

技术分享图片

6.删除一个或多个哈希表字段HDEL key field1 [field2] 

技术分享图片

7.将哈希表 key 中的字段 field 的值设为 value 。HSET key field value 

技术分享图片

8.获取哈希表中字段的数量HLEN key 

技术分享图片

9.获取所有哈希表中的字段HKEYS key 

技术分享图片

10.获取哈希表中所有值HVALS key 

技术分享图片

11.获取在哈希表中指定 key 的所有字段和值HGETALL key 

技术分享图片

12.为哈希表 key 中的指定字段的整数值加上增量 increment 。HINCRBY key field increment 

技术分享图片

 

hash代码操作:

技术分享图片
package com.study.util;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;

import redis.clients.jedis.Jedis;

public class RedisHash {

    public static void main(String[] args) {
        Jedis jedis = RedisUtil.getJedis();
        //将user的id赋值为1
        jedis.hset("user", "id", "1");
        //获取user的id值
        String id = jedis.hget("user", "id");
        System.out.println("id:" + id);
        
        //设置user的name为zs,age为18
        Map<String,String> hash = new HashMap<>();
        hash.put("name", "zs");
        hash.put("age", "18");
        jedis.hmset("user", hash);
        //获取user的id,name,age值
        List<String> hList = jedis.hmget("user", "id","name","age");
        System.out.print("user的id,name,age值为:");
        for (String value : hList) {
            System.out.print(value);
        }
        System.out.println();
        
        //查看user是否有id字段
        boolean hexists = jedis.hexists("user", "id");
        System.out.println("user是否有id字段:" + hexists);
        
        //删除user中的age字段
        jedis.hdel("user", "age");
        System.out.print("删除user中的age字段后user的字段:");
        //获取user的所有字段
        Set<String> keys = jedis.hkeys("user");
        for (String key : keys) {
            System.out.print(key);
        }
        System.out.println();
        //将user的name值改为zhangsan
        jedis.hset("user", "name", "zhangsan");
        //获取user字段的数量
        long length = jedis.hlen("user");
        System.out.println("user字段的数量:" + length);
        
        //获取user字段的所有值
        List<String> values = jedis.hvals("user");
        System.out.print("user字段所有值:");
        for (String value : values) {
            System.out.print(value);
        }
        System.out.println();
        
        //获取user的所有字段及对应的值
        Map<String,String> map = jedis.hgetAll("user");
        for (String key : map.keySet()) {
            System.out.println(key + "->" + map.get(key));
        }
        
        jedis.close();
    }
}
View Code

 

代码git地址:https://gitee.com/sjcq/redis.git

hash哈希操作

标签:sha   bubuko   long   www.   red   存储   整数   alt   操作   

原文地址:https://www.cnblogs.com/sjcq/p/8973295.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!