Jedis操作Redis6
介绍
Jedis是java开发的操作redis的工具包。
Jedis的用法
引入maven依赖
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>4.2.1</version>
</dependency>
我这里用4.2.1版本代替了,您自行替换可用版本即可。
使用redis的api操作redis
Junit测试demo代码,重点在于如何用Jedis工具
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPubSub;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.TimeUnit;
public class JedisDemo {
public Jedis jedis;
@Before
public void before() {
this.jedis = new Jedis("192.168.200.129", 6379);
}
@After
public void after() {
//关闭jedis
this.jedis.close();
}
/**
* 测试redis是否连通
*/
@Test
public void test1() {
String ping = jedis.ping();
System.out.println(ping);
}
/**
* string类型测试
*/
@Test
public void stringTest() {
jedis.set("user", "worklee");
System.out.println(jedis.get("user"));
}
/**
* list类型测试
*/
@Test
public void listTest() {
jedis.rpush("user", "zhangsan", "lisi", "wangwu", "zhaoliu");
List<String> users = jedis.lrange("nameuser 0, -1);
for (String user : users) {
System.out.println(user);
}
}
/**
* set类型测试
*/
@Test
public void setTest() {
jedis.sadd("users", "zhangsan", "lisi", "wangwu");
Set<String> users = jedis.smembers("users");
for (String user : users) {
System.out.println(user);
}
}
/**
* hash类型测试
*/
@Test
public void hashTest() {
jedis.hset("user1", "id", "1001");
jedis.hset("user1", "name", "张三");
jedis.hset("user1", "age", "30");
Map<String, String> userMap = jedis.hgetAll("user1");
System.out.println(userMap);
}
/**
* zset类型测试
*/
@Test
public void zsetTest() {
jedis.zadd("chengji", 100, "java");
jedis.zadd("chengji", 95, "c");
jedis.zadd("chengji", 70, "php");
List<String> languages = jedis.zrange("chengji", 0, -1);
System.out.println(languages);
}
/**
* 订阅消息
*/
@Test
public void subscribeTest() throws InterruptedException {
//subscribe(消息监听器,频道列表)
jedis.subscribe(new JedisPubSub() {
@Override
public void onMessage(String channel, String message) {
System.out.println(channel + ":" + message);
}
}, "msg1");
TimeUnit.HOURS.sleep(1);
}
/**
* 发布消息
*/
@Test
public void publishTest() {
jedis.publish("msg1", "hello redis");
}
}