一、环境说明
开发工具:idea2019.3
redis版本:redis-5.0.4
maven:apache-maven-3.6.1
JDK:jdk1.8.0_40
二、创建maven项目
修改项目名称,其他默认即可
创建完成后目录结构如下:
三、导入架包
<!-- jedis工具类 -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
<!--jedis依赖的数据库连接池-->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
<version>2.9.0</version>
<type>pom</type>
</dependency>
</dependencies>
导入后效果如下:
四、在Java包下创建根包及对应的测试类
测试类代码如下:
Jedis jedis;
@Before
public void befor(){
//redis服务地址
String host="192.168.41.166";
//redis端口号
int port=6379;
/*实例化Jedis对象*/
jedis=new Jedis(host,port);
}
@Test
public void JedisDemo(){
//将String类型的key、value添加到redis缓存中
String res= jedis.set("mykey", "myvalue");
System.out.println("结果:"+set);
//通过key获取值
String value = jedis.get("mykey");
//输出结果
System.out.println("key:mykey,value:"+value);
}
@After
public void close(){
/*关闭操作,将数据库连接放回连接池中*/
jedis.close();
}
结果如下:
五、jedis实现redis常见数据类型基础操作
String类型
/**
* String基础操作
*/
@Test
public void test(){
//将String类型的key、value添加到redis缓存中
String res= jedis.set("mykey", "myvalue");
System.out.println("结果:"+set);
//通过key获取值
String value = jedis.get("mykey");
//输出结果
System.out.println("key:mykey,value:"+value);
}
结果如下
结果:OK
key:mykey,value:myvalue
Hash类型
/**
* hashMap基础操作
*/
@Test
public void test1(){
/*创建一个map对象*/
Map<String,String> map=new HashMap();
map.put("name","Tom");
map.put("age","20");
map.put("sex","man");
/*将mapdui向添加到redis缓存中*/
String res = jedis.hmset("hash1", map);
/*获取对应键中指定属性对应的值*/
String name = jedis.hget("hash1", "name");
System.out.println("姓名:"+name);
}
结果如下:
姓名:Tom
list类型
/**
* list类型常见操作
*/
@Test
public void test2(){
/*向redis缓存添加list数据*/
Long len = jedis.rpush("list1", "a", "b", "c", "d");
/*数据结果*/
System.out.println("集合包含数据:"+len+"个");
/*-1表示从开始下标得到集合最后的所有内容*/
List<String> list = jedis.lrange("list1", 0, -1);
/*输出结果*/
System.out.println(list);
}
结果如下:
集合包含数据:4个
[a, b, c, d]
set类型
/**
* set集合基础操作
*/
@Test
public void test3(){
//添加set类型数据到缓存中
Long len = jedis.sadd("set1", "1", "2", "3", "4", "5");
System.out.println("set集合中元素个数为:"+len);
//获取缓存中的set1对应的set集合
Set<String> set = jedis.smembers("set1");
//遍历set集合
Iterator<String> it = set.iterator();
while(it.hasNext()){
String value = it.next();
System.out.println("元素:"+value);
}
}
结果如下:
set集合中元素个数为:5
元素:1
元素:2
元素:3
元素:4
元素:5
补充:
1、zset和set基础操作基本相同,不在演示
2、jedis API几乎和redis命令一致,不再赘述,大家可以结合redis基础语法进行练习。