SpringBoot
【黑马程序员SpringBoot2全套视频教程,springboot零基础到项目实战(spring boot2完整版)】
SpringBoot 开发实用篇
文章目录
- SpringBoot
- SpringBoot 开发实用篇
- 4 数据层解决方案
- 4.6 SpringBoot 读写 Redis 的客户端
- 4.6.1 问题引入
- 4.6.2 SpringBoot 读写 redis 的客户端
- 4.6.3 小结
4 数据层解决方案
4.6 SpringBoot 读写 Redis 的客户端
4.6.1 问题引入
我们之前在cmd 中存过一个name 值
现在我们试试直接在测试类中进行获取
可以看到,没拿到
试试在cmd 中拿一下我们存入的age
这样也拿不到【难道说 这两个不是同一个吗?】
4.6.2 SpringBoot 读写 redis 的客户端
先来证明一下,我们在IDEA 中操作的redis 是不是咱们命令行中的redis
现在我们把命令行中的redis 停掉
现在运行测试
可以看到报错,不能连接到redis ,这说明什么,说明确实是同一个
再次启动redis
OK,先下定义,是客户端的问题
就是它
其实现在我们在cmd 客户端中查看所有的key
这两个东西就是我们在IDEA 中生成的东西【而且redis 用了它内部的一种序列化方式进行了处理】
创建一个全新的测试类
package com.dingjiaxiong;
import org.junit.jupiter.api.RepeatedTest;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.data.redis.core.ValueOperations;
/**
* ClassName: StringRedisTemplate
* date: 2022/10/20 14:43
*
* @author DingJiaxiong
*/
@SpringBootTest
public class StringRedisTemplateTest {
@Autowired
private StringRedisTemplate stringRedisTemplate; //以字符串为操作的基本单元【而且咱们在cmd 客户端中操作都是以字符串的形式进行操作的】
@Test
void get(){
ValueOperations<String, String> ops = stringRedisTemplate.opsForValue();
String name = ops.get("name");
System.out.println(name);
}
}
运行结果
可以看到,这样就对上了
现在我们在cmd 客户端中修改一下name 的值
再次在测试中获取
没毛病【这样就可以确定是同一个了】【我们之前没有指定泛型之前,都是以对象的形式进行操作的,所以对不上号】
回顾一下
4.6.3 小结
- RedisTemplate
- StringRedisTemplate(常用)