IDEA连接Redis

时间:2019-11-28
本文章向大家介绍IDEA连接Redis,主要包括IDEA连接Redis使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

1、创建一个Maven项目

2、在src下的pom.xml文件里,添加单元测试、jdbc、redis数据库的包引用

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <project xmlns="http://maven.apache.org/POM/4.0.0"
 3          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 5     <modelVersion>4.0.0</modelVersion>
 6 
 7     <groupId>com.otwb</groupId>
 8     <artifactId>redisLink</artifactId>
 9     <version>1.0-SNAPSHOT</version>
10 
11     <dependencies>
12         <!--用于单元测试的包-->
13         <dependency>
14             <groupId>junit</groupId>
15             <artifactId>junit</artifactId>
16             <version>4.12</version>
17         </dependency>
18         <!--mysql的jdbc包-->
19         <dependency>
20             <groupId>mysql</groupId>
21             <artifactId>mysql-connector-java</artifactId>
22             <version>8.0.18</version>
23         </dependency>
24         <!--redis数据库连接包-->
25         <dependency>
26             <groupId>redis.clients</groupId>
27             <artifactId>jedis</artifactId>
28             <version>2.9.0</version>
29         </dependency>
30     </dependencies>
31 
32 
33 </project>

3、在src——main——java下添加RedisLinkTest类,测试连接操作Redis数据库

  1 import org.junit.Test;
  2 import redis.clients.jedis.Jedis;
  3 
  4 import java.util.Iterator;
  5 import java.util.List;
  6 import java.util.Set;
  7 
  8 public class RedisLinkTest {
  9     //@Test表示这个方法是单元测试的方法
 10     //连接并添加String类型数据
 11     @Test
 12     public void fun1() {
 13         //连接redis数据库
 14         Jedis jedis = new Jedis("127.0.0.1");
 15         //添加String类型数据
 16         jedis.set("field1","i am field1");
 17         //输出添加的数据(根据键,输出对应的值)
 18         System.out.println(jedis.get("field1"));
 19         //删除String类型数据(根据键删除)
 20         jedis.del("field1");
 21         //输出数据,查看是否删除成功
 22         System.out.println(jedis.get("field1"));
 23     }
 24 
 25     //连接并添加hash类型数据(我理解为给String类型的数据进行了分类,每个hash可以存储2^32-1个键值对)
 26     @Test
 27     public void fun2(){
 28         //连接redis数据库
 29         Jedis jedis = new Jedis("127.0.0.1");
 30         //添加hash类型数据
 31         jedis.hset("hset1","name","张三");
 32         jedis.hset("hset1","age","22");
 33         jedis.hset("hset1","sex","男");
 34         //获取数据
 35         List<String> hmget = jedis.hmget("hset1", "name","age","sex");
 36         //输出
 37         System.out.println(hmget);
 38         //删除
 39         jedis.hdel("hset1","name","sex");
 40         //删除后再输出,看看是否删除成功
 41         System.out.println(jedis.hmget("hset1", "name","age","sex"));
 42     }
 43 
 44     //连接并添加List类型数据(队列,按照插入顺序排序,可以添加一个元素到列表的头部(左边),或者尾部(右边))
 45     @Test
 46     public void fun3() {
 47         //连接redis数据库
 48         Jedis jedis = new Jedis("127.0.0.1");
 49         //添加List类型数据,lpush添加到列表头部,即后添加的数据在最前面
 50         jedis.lpush("field2","aaa");
 51         jedis.lpush("field2","bbb");
 52         jedis.lpush("field2","ccc");
 53         //从索引1的位置获取到索引6位置的值,因为超出了实际索引2,所以后面会继续循环输出
 54         List<String> field2 = jedis.lrange("field2", 0, 6);
 55         //输出添加的键值对
 56         for(String item:field2){
 57             System.out.println(item);
 58         }
 59     }
 60 
 61     //连接并添加Set类型数据(一堆不重复值的组合)
 62     @Test
 63     public void fun4(){
 64         //连接redis数据库
 65         Jedis jedis = new Jedis("127.0.0.1");
 66         //添加Set类型数据
 67         jedis.sadd("name","zhangsan");
 68         jedis.sadd("name","lisi");
 69         jedis.sadd("name","lisi");  //同一个数据再次添加,会覆盖上一次的
 70         jedis.sadd("age","16");
 71         jedis.sadd("sex","nan");
 72         jedis.sadd("address","china");
 73         //获取Set类型数据
 74         Set<String> name = jedis.smembers("name");
 75         //输出获取到的Set类型数据(输出的顺序是无序的)
 76         System.out.println(name);
 77         System.out.println("\n");
 78         //获取当前redis数据库中,所有key,以Set集合的方式返回数据
 79         Set<String> set = jedis.keys("*");
 80         Iterator<String> iterator = set.iterator();
 81         while(iterator.hasNext()){
 82             System.out.println(iterator.next());
 83         }
 84     }
 85 
 86     //连接并添加ZSet类型数据(zset是set的升级版,它在set的基础上增加了顺序属性score,这一属性在添加修改元素的时候可以指定,每次指定后,zset会自动重新按新的值调整顺序)
 87     @Test
 88     public void fun5(){
 89         //连接redis数据库
 90         Jedis jedis = new Jedis("127.0.0.1");
 91         //添加zset型数据
 92         jedis.zadd("field3",1,"hhh");
 93         jedis.zadd("field3",0,"jjj");
 94         jedis.zadd("field3",3,"bbb");
 95         //获取set型数据
 96         Set<String> field3 = jedis.zrangeByScore("field3", 0, 5);
 97         //用迭代器循环输出
 98         Iterator<String> iterator = field3.iterator();
 99         while(iterator.hasNext()){
100             System.out.println(iterator.next());
101         }
102     }
103 }

原文地址:https://www.cnblogs.com/dadian/p/11947569.html