对于redis的操作命令,java都有对应的API操作(Jedis,就类似于操作MySQL的Jdbc),下面我们就玩耍一下吧,再熟悉一遍Redis的操作命令。
依赖jar包第一步,导入依赖jar包,这是必须的嘛,常规操作
redis.clients
jedis
2.9.0
Jedis对象
在测试类中我们先创建一个Jedis对象,并测试连接Redis是否正常。
package com.wpp.redis_publish_subscribe;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import redis.clients.jedis.Jedis;
@SpringBootTest
class RedisPublishSubscribApplicationTests {
Jedis jedis = new Jedis("Redis地址",6379);
@Test
void test1() {
jedis.auth("Redis密码");
String ping = jedis.ping();
System.out.println(ping);
jedis.close();
}
}
测试结果如下:
@Test
void test2() {
jedis.auth("Redis密码");
jedis.set("k1","v1");
jedis.set("k2","v2");
jedis.set("k3","v3");
//对应 keys * 命令
Set keys = jedis.keys("*");
for (String key : keys) {
System.out.println(key);
}
//对应 exists key 命令
System.out.println(jedis.exists("k1"));
//对应 ttl key 命令
System.out.println(jedis.ttl("k1"));
jedis.close();
}
测试结果如下:
@Test
void test3(){
jedis.auth("Redis密码");
//对应 mset 命令(同时设置一个或多个 key-value 对)
jedis.mset("str1", "v1", "str2", "v2", "str3", "v3");
System.out.println(jedis.mget("str1","str2","str3"));
jedis.close();
}
测试结果如下:
@Test
void test4(){
jedis.auth("Redis密码");
//对应 lpush 命令(从左边插入一个或多个值)
jedis.lpush("myList","element3","element2","element1");
//对应 lrang 命令(从左到右,按照索引下标获得元素)
List list = jedis.lrange("myList", 0, -1);
for (String element : list) {
System.out.println(element);
}
jedis.close();
}
测试结果如下:
@Test
void test5(){
jedis.auth("Redis密码");
//对应 sadd 命令(将一个或多个member元素加入到集合key中)
jedis.sadd("mySet","member1","member2","member3");
//对应 smembers 命令(取出该集合的所有值)
Set mySet = jedis.smembers("mySet");
for (String member : mySet) {
System.out.println(member);
}
jedis.close();
}
测试结果如下:
@Test
void test6(){
jedis.auth("Redis密码");
//对应 hset 命令(给 key 集合中的 field 键赋值 value)
jedis.hset("student1","userName","wangDa");
jedis.hset("student1","age","18");
jedis.hset("student1","mobile","15611112222");
//对应 hget 命令(从 key 集合中的 field 取出 value)
System.out.println(jedis.hget("student1","userName"));
HashMap map = new HashMap();
map.put("userName","wangEr");
map.put("age","16");
map.put("mobile","18733334444");
//对应 hmset 命令(批量设置 hash 的值)
jedis.hmset("student2",map);
List result = jedis.hmget("student2", "userName", "age", "mobile");
for (String element : result) {
System.out.println(element);
}
jedis.close();
}
测试结果如下:
@Test
void test7(){
jedis.auth("Redis密码");
//对应 zadd 命令(将一个或多个 member 元素及其 score 值加入到有序集合 key 当中)
jedis.zadd("myZset",100d,"member1");
jedis.zadd("myZset",200d,"member2");
jedis.zadd("myZset",300d,"member3");
//对应 zrang 命令(返回有序集合 key 中,下标在 start stop 之间的元素)
Set myZset = jedis.zrange("myZset", 0, -1);
for (String member : myZset) {
System.out.println(member);
}
jedis.close();
}
测试结果如下:
更多的 API 操作和 Redis 的基本操作命令基本一致,有兴趣了可以都测试一下,加深一下印象哦!