目录
使用命令 hset,hget
使用命令 hexists
使用命令 hdel
使用命令 hkeys,hvals
使用命令 hmget,hmset
关于 redis hash 哈希表类型的相关命令推荐看Redis - hash 哈希表
要想通过 Java 操作 redis,首先要连接上 redis 服务器,推荐看通过 Java 操作 redis -- 连接 redis
本博客只介绍了一小部分常用的命令,其他的命令根据上面推荐的博客也能很简单的使用出来(推荐先看上面推荐的博客,有 redis 的原生命令)
使用命令 hset,hget
/*** 使用命令 hset,hget* */public static void test1(Jedis jedis){//清除 redis 所有数据库中的所有数据jedis.flushAll();//向 redis 中添加一个哈希表类型的键值对,哈希表中添加了 f1 - 111 键值对//返回值为添加成功的键值对个数long result1=jedis.hset("key1","f1","111");System.out.println("result1:"+result1);//用哈希表作为参数,直接将哈希表中的键值对都添加到 key2 的哈希表中//返回值为添加成功的键值对个数HashMap<String,String> hashMap=new HashMap<>();hashMap.put("f1","111");hashMap.put("f2","111");hashMap.put("f3","111");long result2=jedis.hset("key2",hashMap);System.out.println("result2:"+result2);//获取 key1 对应的哈希表中,f1 对应的 value 值String result3=jedis.hget("key1","f1");System.out.println("result3:"+result3);}
运行结果
使用命令 hexists
/*** 使用命令 hexists* */public static void test2(Jedis jedis){//清除 redis 所有数据库中的所有数据jedis.flushAll();jedis.hset("key1","f1","111");//判断 key1 对应的哈希表中是否存在 key 为 f1 的键值对,存在返回 true ,否则返回 falseboolean result1=jedis.hexists("key1","f1");System.out.println("result1:"+result1);boolean result2=jedis.hexists("key1","f2");System.out.println("result2:"+result2);}
运行结果
使用命令 hdel
/*** 使用命令 hdel* */public static void test3(Jedis jedis){//清除 redis 所有数据库中的所有数据jedis.flushAll();jedis.hset("key1","f1","111");jedis.hset("key1","f2","111");jedis.hset("key1","f3","111");//删除 key1 对应的哈希表中 key 为 f1 和 f2 的键值对long result1=jedis.hdel("key1","f1","f2");System.out.println("result1:"+result1);boolean result2=jedis.hexists("key1","f1");System.out.println("result2:"+result2);boolean result3=jedis.hexists("key1","f2");System.out.println("result3:"+result3);}
运行结果
使用命令 hkeys,hvals
/*** 使用命令 hkeys,hvals* */public static void test4(Jedis jedis){//清除 redis 所有数据库中的所有数据jedis.flushAll();jedis.hset("key1","f1","111");jedis.hset("key1","f2","222");jedis.hset("key1","f3","333");//获取 key1 对应的哈希表中所有键值对的 key 值Set<String> result1=jedis.hkeys("key1");System.out.println("result1:"+result1);//获取 key1 对应的哈希表中所有键值对的 value 值List<String> result2=jedis.hvals("key1");System.out.println("result2:"+result2);}
运行结果
使用命令 hmget,hmset
/*** 使用命令 hmget,hmset* */public static void test5(Jedis jedis){//清除 redis 所有数据库中的所有数据jedis.flushAll();Map<String,String>map=new HashMap<>();map.put("f1","111");map.put("f2","222");map.put("f3","333");//批量插入键值对到 key1 对应的 哈希表中,但要使用 Map 作为参数,类似于 hset//插入成功返回 OK,否则返回 FALSEString result1=jedis.hmset("key1",map);System.out.println("result1:"+result1);//批量获取 key1 对应的哈希表中 key 为 f1,f2,f3 对应的 value 值List<String> result2=jedis.hmget("key1","f1","f2","f3");System.out.println("result2:"+result2);}
运行结果