文章目录:
2.6 Redis Java Keys 实例(对应Redis中 KEYS * 命令)
1.安装与导入
在 Java 中使用 Redis 前,我们需要确保已经安装了 redis 服务及 Java redis 驱动,且你的机器上能正常使用 Java。
我们需要下载 jedis.jar 驱动包:jedis-2.9.0.jar(并非最新版本)
写在前面:Redis中有哪些命令,与Java连接之后,这些命令自然就变成了相应的方法,供大家调用!!!
而后,打开编译器(我用的是Eclipse),新建一个Java Project,右键单击项目 → BuildPath → Add External Archives to Java Build Path,之后会出现如下界面:👇👇👇
完成以上步骤之后,我们写一个测试代码来检验一下Redis服务是否与Java环境连接成功!!!(在这之前,你需要打开Redis服务端)
1.1 测试代码
package study.redis.java; import redis.clients.jedis.Jedis; public class JedisDemo1 { public static void main(String[] args) { //连接本地的 Redis 服务 Jedis jedis=new Jedis("localhost"); //如果 Redis 服务设置了密码,需要添加下面这行代码 jedis.auth("szh2656307671"); System.out.println("连接成功"); //调用ping()方法查看 Redis 服务是否运行 System.out.println("Redis服务正在运行:" + jedis.ping()); } }
代码成功运行出如下结果,即连接成功!!!
2.Java中使用Redis命令
package study.redis.java; import redis.clients.jedis.Jedis; public class JedisDemo2 { public static void main(String[] args) { Jedis jedis=new Jedis("localhost"); jedis.auth("szh2656307671"); System.out.println("连接成功"); System.out.println("Redis服务正在运行:" + jedis.ping()); //通过 Redis String字符串中的set命令设置相应的数据 jedis.set("mykey","redis"); //通过 Redis String字符串中的get命令获取相应的数据 System.out.println("redis存储的字符串为:" + jedis.get("mykey")); } }
2.2 对数据类型List进行简单操作
package study.redis.java; import redis.clients.jedis.Jedis; import java.util.List; public class JedisDemo3 { public static void main(String[] args) { Jedis jedis=new Jedis("localhost"); jedis.auth("szh2656307671"); System.out.println("连接成功"); System.out.println("Redis服务正在运行:" + jedis.ping()); //通过 Redis List列表中的lpush命令设置相应的数据 jedis.lpush("key","HTML"); jedis.lpush("key","CSS"); jedis.lpush("key","JavaScript"); //同时存入Java list集合中 List<String> list=jedis.lrange("key",0,2); for(int i=0;i<list.size();i++) { System.out.println("Redis列表项存储的数据为:" + list.get(i)); } //通过 Redis List列表中的lrange命令获取相应的数据 System.out.println("此时Redis列表项中的数据为:" + jedis.lrange("key",0,2)); } }
2.3 对数据类型Hash进行简单操作
package study.redis.java; import redis.clients.jedis.Jedis; import java.util.Iterator; import java.util.Map; import java.util.Set; public class JedisDemo4 { public static void main(String[] args) { Jedis jedis=new Jedis("localhost"); jedis.auth("szh2656307671"); System.out.println("连接成功"); System.out.println("Redis服务正在运行:" + jedis.ping()); //通过 Redis Hash哈希中的hset命令设置相应的数据 jedis.hset("key1","field1","封装"); jedis.hset("key1","field2","继承"); jedis.hset("key1","field3","多态"); //转为Java Map集合 Map<String,String> map=jedis.hgetAll("key1"); Set<Map.Entry<String,String>> set=map.entrySet(); Iterator<Map.Entry<String,String>> iterator=set.iterator(); while(iterator.hasNext()) { Map.Entry<String,String> kv=iterator.next(); Object keys=kv.getKey(); Object values=kv.getValue(); System.out.println("键:" + keys + ",值:" + values); } //通过 Redis Hash哈希中的hgetAll命令获取相应的数据 System.out.println("此时Redis Hash中的数据为:" + jedis.hgetAll("key1")); } }
2.4 对数据类型Set进行简单操作
package study.redis.java; import redis.clients.jedis.Jedis; import java.util.Set; import java.util.Iterator; public class JedisDemo5 { public static void main(String[] args) { Jedis jedis=new Jedis("localhost"); jedis.auth("szh2656307671"); System.out.println("连接成功"); System.out.println("Redis服务正在运行:" + jedis.ping()); //通过 Redis Set集合中的sadd命令设置相应的数据 jedis.sadd("key2","huawei"); jedis.sadd("key2","oppo"); jedis.sadd("key2","vivo"); //转为Java Set集合 Set<String> hashset=jedis.smembers("key2"); Iterator iterator=hashset.iterator(); while(iterator.hasNext()) { System.out.println("Set集合中的数据为:" + iterator.next()); } //通过 Redis Set集合中的smembers命令获取相应的数据 System.out.println("此时Redis Set集合中的数据为:" + jedis.smembers("key2")); } }
2.5 对数据类型ZSet进行简单操作
package study.redis.java; import redis.clients.jedis.Jedis; import java.util.Set; import java.util.Iterator; public class JedisDemo6 { public static void main(String[] args) { Jedis jedis=new Jedis("localhost"); jedis.auth("szh2656307671"); System.out.println("连接成功"); System.out.println("Redis服务正在运行:" + jedis.ping()); //通过 Redis ZSet集合中的zadd命令设置相应的数据 jedis.zadd("key3",44,"red"); jedis.zadd("key3",44,"green"); jedis.zadd("key3",44,"blue"); jedis.zadd("key3",1,"black"); jedis.zadd("key3",80,"white"); //转为Java Set集合 Set<String> set=jedis.zrangeByScore("key3",0,100); Iterator iterator=set.iterator(); while(iterator.hasNext()) { System.out.println("Set集合中的数据为:" + iterator.next()); } //通过 Redis ZSet集合中的zrangeByScore命令获取相应的数据 System.out.println("此时Redis ZSet集合中的数据为:" + jedis.zrangeByScore("key3",0,100)); } }
2.6 Redis Java Keys 实例(对应Redis中 KEYS * 命令)
package study.redis.java; import redis.clients.jedis.Jedis; import java.util.Set; import java.util.Iterator; public class JedisDemo7 { public static void main(String[] args) { Jedis jedis=new Jedis("localhost"); jedis.auth("szh2656307671"); System.out.println("连接成功"); System.out.println("Redis服务正在运行:" + jedis.ping()); //获取此时Redis数据库中的所有键 Set<String> keys=jedis.keys("*"); Iterator<String> iterator=keys.iterator(); while(iterator.hasNext()) { System.out.println(iterator.next()); } System.out.println("此时Redis数据库中存在这些键:" + jedis.keys("*")); } }