10. java操作Redis
10.1 环境准备
1. 引入依赖
redis.clients
jedis
2.9.0
2.创建jedis对象
package org.example;
import redis.clients.jedis.Jedis;
import java.util.Set;
public class TestRedis {
public static void main(String[] args) {
//1.创建jedis对象 这步之前要确保防火墙关闭,redis开启远程连接
Jedis jedis = new Jedis("192.168.159.143",7000);
//选择操作的库默认0号库
jedis.select(0);
//2.执行相关操作:查看key
Set keys = jedis.keys("*");
keys.forEach(key->System.out.println(key));
//3.释放资源
jedis.close();
}
}
10.2 操作key相关API
package org.example;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import redis.clients.jedis.Jedis;
public class TestKey {
private Jedis jedis;
@Before
public void before(){
jedis = new Jedis("192.168.159.143",7000);
}
@After
public void after(){
jedis.close();
}
@Test
public void testKeys(){
//删除一个key
jedis.del("name");
//删除多个key
jedis.del("name","age");
//判断一个key是否存在exits
Boolean name = jedis.exists("name");
System.out.println(name);
//设置一个key超时时间 expire pexpire
Long age = jedis.expire("age", 100);
System.out.println(age);
//获取一个key超时时间 ttl
Long age1 = jedis.ttl("newage");
System.out.println(age1);
//随机获取一个key
String s = jedis.randomKey();
//修改key名称
jedis.rename("age","newage");
//查看可以对应值的类型
String name1 = jedis.type("name");
System.out.println(name1);
String maps = jedis.type("maps");
System.out.println(maps);
}
}
image-20200627180325687.png
10.3操作String相关API
package org.example;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import redis.clients.jedis.Jedis;
import java.util.List;
public class TestString {
private Jedis jedis;
@Before
public void before(){
jedis = new Jedis("192.168.159.143",7000);
}
@After
public void after(){
jedis.close();
}
@Test
public void test(){
//set
jedis.set("name","小陈");
//get
String s = jedis.get("name");
System.out.println(s);
//mset
jedis.mset("content","好人","address","海淀区");
//mget
List mget = jedis.mget("name", "content", "address");
mget.forEach(v-> System.out.println("v = " + v));
//getset
String set = jedis.getSet("name", "小明");
System.out.println(set);
//............
}
}
image-20200627180352953.png
10.4操作List相关API
package org.example;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import redis.clients.jedis.BinaryClient;
import redis.clients.jedis.Jedis;
import java.util.List;
public class TestList {
private Jedis jedis;
@Before
public void before(){
jedis = new Jedis("192.168.159.143",7000);
}
@After
public void after(){
jedis.close();
}
@Test
public void test(){
//lpush
jedis.lpush("names1","张三","王五","赵柳","win7");
//rpush
jedis.rpush("names1","xiaomingming");
//lrange
List names1 = jedis.lrange("names1", 0, -1);
names1.forEach(name-> System.out.println("name = " + name));
//lpop rpop
String names11 = jedis.lpop("names1");
System.out.println(names11);
//llen
jedis.linsert("lists", BinaryClient.LIST_POSITION.BEFORE,"xiaohei","xiaobai");
//........
}
}
image-20200627180435997.png
10.5操作Set的相关API
package org.example;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import redis.clients.jedis.Jedis;
import java.util.Set;
public class TestSet {
private Jedis jedis;
@Before
public void before(){
jedis = new Jedis("192.168.159.143",7000);
}
@After
public void after(){
jedis.close();
}
@Test
public void test(){
//sadd
jedis.sadd("names","zhangsan","lisi");
//smembers
Set names = jedis.smembers("names");
names.forEach(name->System.out.println(name));
//sismember
Boolean sismember = jedis.sismember("names", "xiaochen");
//...
}
}
image-20200627181913715.png
10.6 操作ZSet相关API
package org.example;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import redis.clients.jedis.Jedis;
import java.util.Set;
public class TestZSet {
private Jedis jedis;
@Before
public void before(){
jedis = new Jedis("192.168.159.143",7000);
}
@After
public void after(){
jedis.close();
}
@Test
public void test(){
//zadd
jedis.zadd("names",10,"张三");
//zrange
jedis.zrange("names",0,-1);
//zcard
jedis.zcard("names");
//zrangeByScore
jedis.zrangeByScore("names","0","100",0,5);
//..
}
}
image-20200627181947116.png
10.7 操作Hash相关API
//测试HASH相关
@Test
public void testHash(){
//hset
jedis.hset("maps","name","zhangsan");
//hget
jedis.hget("maps","name");
//hgetall
jedis.hgetAll("mps");
//hkeys
jedis.hkeys("maps");
//hvals
jedis.hvals("maps");
//....
}
image-20200628093242527.png