hash哈希操作
Posted 四季常青
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hash哈希操作相关的知识,希望对你有一定的参考价值。
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(); } }
代码git地址:https://gitee.com/sjcq/redis.git
以上是关于hash哈希操作的主要内容,如果未能解决你的问题,请参考以下文章
RedisRedis 哈希 Hash 键值对集合操作 ( 哈希 Hash 键值对集合简介 | 查询操作 | 增加操作 | 修改操作 )