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 }






。