1. 程式人生 > >hash哈希操作

hash哈希操作

tar zha tee string類型 system CQ view str bool

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哈希操作