1. 创建项目
1.1 创建步骤
1.2 添加pom依赖
<dependencies>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
<!--测试-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<version>2.2.4.RELEASE</version>
</dependency>
</dependencies>
打开redis可视化工具,可以看到没有任何数据,接下来我们进行操作数据
新建demo类
2. 操作字符串
/**
* 字符串操作
*/
@Test
public void testString(){
//连接redis
Jedis jedis = new Jedis("127.0.0.1",6379);
//添加数据
jedis.set("name", "manlu");
//获取数据
System.out.println(jedis.get("name"));
//拼接字符串
jedis.append("name", ".com");
System.out.println(jedis.get("name"));
//删除数据
jedis.del("name");
System.out.println(jedis.get("name"));
//设置多个键值对
jedis.mset("name","漫路","age","18","qq","550945825");
jedis.incr("age");//加1操作
System.out.println(jedis.get("name") + "-" + jedis.get("age") + "-" + jedis.get("qq"));
}
执行完成后看可视化工具
3. 操作hash(map)
/**
* redis操作map集合
*/
@Test
public void testMap() {
//连接redis
Jedis jedis = new Jedis("127.0.0.1",6379);
//新建一个map
Map<String,String> map = new HashMap<String,String>();
map.put("name", "漫路");
map.put("age", "18");
map.put("qq", "550945825");
//1.添加数据
jedis.hmset("user", map);
//2.获取数据
//取出user中的name,执行结果:[minxr]-->注意结果是一个泛型的List
//第一个参数是存入redis中map对象的key,后面跟的是放入map中对象的key,后面的key可以是多个,是可变的
List<String> rsmap = jedis.hmget("user", "name","age","qq");
System.out.println(rsmap);
//3.删除数据
//删除map中的某个键值
jedis.hdel("user", "age");
System.out.println(jedis.hmget("user", "age"));//因为删除了,所以返回的是Null
System.out.println(jedis.hlen("user"));//返回key为user的键中存放的值的个数2
System.out.println(jedis.exists("user"));//是否存在key为user的记录,返回true
System.out.println(jedis.hkeys("user"));//返回map对象中的所有key
System.out.println(jedis.hvals("user"));//返回map对象中的所有value
//获取user,通过迭代器的方式,遍历拿到每一个数据
Iterator<String> iter = jedis.hkeys("user").iterator();
while(iter.hasNext()) {
String key = iter.next();
System.out.println(key+":" + jedis.hmget("user", key));
}
}
执行完成后看可视化工具
3. 操作列表(list)
/**
* redis操作List集合
*/
@Test
public void testList() {
//连接redis
Jedis jedis = new Jedis("127.0.0.1",6379);
//1.获取list中的数据,这里肯定是空的,因为还没有添加数据
//.lrange是按范围取出
//第一个是key,第二个是起始位置,第三个是结束位置,jedis.llen获取长度 -1表示取得所有
System.out.println(jedis.lrange("list", 0, -1));
//2.添加数据
//先向key list 中存放三条数据,lpush添加到头上
jedis.lpush("list","spring");
jedis.lpush("list", "springboot");
jedis.lpush("list", "springcloud");
//[springcloud, springboot, spring]
System.out.println(jedis.lrange("list", 0, -1));
//3.删除数据
jedis.del("list");
//2.添加数据,添加到尾部
jedis.rpush("list", "spring");
jedis.rpush("list", "springboot");
jedis.rpush("list","springcloud");
//[spring, springboot, springcloud]
System.out.println(jedis.lrange("list", 0, -1));
}
执行完成后看可视化工具
4.操作集合(set)
/**
* redis操作set集合
*/
@Test
public void testSet() {
//连接redis
Jedis jedis = new Jedis("127.0.0.1",6379);
//上面用过user操作map了,先删除user
jedis.del("user");
//1. 添加
jedis.sadd("user", "小张");
jedis.sadd("user", "中张");
jedis.sadd("user", "大张");
jedis.sadd("user", "老张");
jedis.sadd("user", "漫路");
//2. 删除
jedis.srem("user", "小张");
//3. 获取
System.out.println(jedis.smembers("user"));//获取所有加入的value
System.out.println(jedis.sismember("user", "漫路"));//判断"漫路"是否是user集合的元素
System.out.println(jedis.srandmember("user"));//获取user集合中所有的数据
System.out.println(jedis.scard("user"));//返回集合的元素个数
}
执行完成后看可视化工具
5.redis排序
/**
* redis排序
*/
@Test
public void testSort() {
//连接redis
Jedis jedis = new Jedis("127.0.0.1",6379);
//jedis 排序
//注意,此处的rpush和lpush是List的操作。是一个双向链表(但从表现来看的)
jedis.del("a");//先清除数据,再加入数据进行测试
jedis.rpush("a", "1");
jedis.lpush("a", "6");
jedis.lpush("a", "3");
jedis.lpush("a", "9");
System.out.println("排序前: "+jedis.lrange("a", 0, -1));
System.out.println("以排序: "+jedis.sort("a"));//[1,3,6,9] //输入排序后结果
System.out.println("排序后: "+jedis.lrange("a", 0, -1));
}
执行后控制台
6.查询所有key,并删除
/**
* 查询所有key,进行迭代删除数据
*/
@Test
public void getKeys(){
//连接redis
Jedis jedis = new Jedis("127.0.0.1",6379);
Set<String> keys = jedis.keys("*");
if (keys.size()!=0){
Iterator<String> iterator = keys.iterator();
while (iterator.hasNext()){
String next = iterator.next();
System.out.println(next);
jedis.del(next);
}
}else {
System.out.println("无数据可删除~");
}
}
执行完成后看可视化工具