【黑马程序员SpringBoot2全套视频教程,springboot零基础到项目实战(spring boot2完整版)】
我们之前在cmd 中存过一个name 值
现在我们试试直接在测试类中进行获取
可以看到,没拿到
试试在cmd 中拿一下我们存入的age
这样也拿不到【难道说 这两个不是同一个吗?】
先来证明一下,我们在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 {@Autowiredprivate StringRedisTemplate stringRedisTemplate; //以字符串为操作的基本单元【而且咱们在cmd 客户端中操作都是以字符串的形式进行操作的】@Testvoid get(){ValueOperations ops = stringRedisTemplate.opsForValue();String name = ops.get("name");System.out.println(name);}}
运行结果
可以看到,这样就对上了
现在我们在cmd 客户端中修改一下name 的值
再次在测试中获取
没毛病【这样就可以确定是同一个了】【我们之前没有指定泛型之前,都是以对象的形式进行操作的,所以对不上号】
回顾一下