目录
关于 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 ,否则返回 false
boolean 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,否则返回 FALSE
String 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);
}
运行结果