环境准备
搭建Maven项目
引入依赖
1 2 3 4 5
| <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.5.2</version> </dependency>
|
创建jedis对象
注意:
- redis服务必须关闭防火墙
- redis服务必须开启远程连接
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| package com.jedis;
import redis.clients.jedis.Jedis;
import java.util.Set;
public class TestRedis { public static void main(String[] args) { Jedis jedis = new Jedis("192.168.1.120", 6379); jedis.select(0); final Set<String> keys = jedis.keys("*"); keys.forEach(key-> System.out.println("key=" + key)); jedis.close(); } }
|
执行结果

注意:提前在redis中set一些数据
操作数据库库相关
1 2 3 4
| jedis.flushDB(); jedis.flushAll();
|
操作Redis API相关
创建Redis基础测试类,对Redis的连接和释放
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| package com.jedis.test;
import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import redis.clients.jedis.Jedis;
public class TestBase { Jedis jedis;
@BeforeEach public void before() { this.jedis = new Jedis("192.168.1.120", 6379); }
@AfterEach public void after() { jedis.close(); } }
|
操作Key相关API
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| package com.jedis.test;
import org.junit.jupiter.api.Test;
import java.util.Set;
class TestKeys extends TestBase {
@Test void testKeys() { final Set<String> keys = jedis.keys("*"); keys.forEach(key -> System.out.println("查询所有的key:" + key)); jedis.del("name"); jedis.del("name", "age"); Boolean name = jedis.exists("name"); System.out.println("判断key为name是否存在:" + name); Long age = jedis.expire("age", 100); System.out.println("key为age设置超时时间:" + age); Long age1 = jedis.ttl("newage"); System.out.println("key为newage获取超时时间:" + age1); String s = jedis.randomKey(); System.out.println("随机获取的key:" + s); jedis.rename("age", "newage"); String name1 = jedis.type("name"); System.out.println("查看key为name的数据类型:" + name1); String maps = jedis.type("maps"); System.out.println("查看key为maps的数据类型:" + maps); } }
|
操作String相关API
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| package com.jedis.test;
import org.junit.jupiter.api.Test;
import java.util.List;
public class TestString extends TestBase {
@Test void testString() { jedis.set("name", "wangxiaohua"); String s = jedis.get("name"); System.out.println("根据key获得对应的value:" + s); jedis.mset("content", "GoodBoy", "address", "Beijing"); List<String> mget = jedis.mget("name", "content", "address"); mget.forEach(v -> System.out.println("Value:" + v)); String set = jedis.getSet("name", "xiaoming"); System.out.println("获得原始key的值,同时设置新值:" + set); } }
|
操作List相关API
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| package com.jedis.test;
import org.junit.jupiter.api.Test;
import java.util.List;
import static redis.clients.jedis.ListPosition.BEFORE;
public class TestList extends TestBase {
@Test void testList() { jedis.lpush("names1", "zhangsan", "wangwu", "zhaoliu", "xiaohong"); jedis.rpush("names1", "xiaomingming"); List<String> names1 = jedis.lrange("names1", 0, -1); names1.forEach(name -> System.out.println("name = " + name)); String names11 = jedis.lpop("names1"); System.out.println(names11); jedis.linsert("lists", BEFORE, "xiaohei", "xiaobai"); } }
|
操作Set的相关API
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| package com.jedis.test;
import org.junit.jupiter.api.Test;
public class TestSet extends TestBase {
@Test void testSet() { jedis.sadd("names", "zhangsan", "lisi"); jedis.smembers("names"); jedis.sismember("names", "xiaochen"); } }
|
操作ZSet相关API
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| package com.jedis.test;
import org.junit.jupiter.api.Test;
public class TestZSet extends TestBase {
@Test void testZSet() { jedis.zadd("names", 10, "张三"); jedis.zrange("names", 0, -1); jedis.zcard("names"); jedis.zrangeByScore("names", "0", "100", 0, 5); } }
|
操作Hash相关API
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| package com.jedis.test;
import org.junit.jupiter.api.Test;
public class TestHash extends TestBase {
@Test void testHash() { jedis.hset("maps", "name", "zhangsan"); jedis.hget("maps", "name"); jedis.hgetAll("mps"); jedis.hkeys("maps"); jedis.hvals("maps"); } }
|