解释 StringRedisTemplate 类和对象的作用与关系
StringRedisTemplate 类和对象
一、类和对象的关系
1. 类(Class)vs 对象(Object)
private StringRedisTemplate stringRedisTemplate;- StringRedisTemplate:类(模板/蓝图)
- stringRedisTemplate:对象(根据模板创建的具体实例)
2. 用生活例子理解
类 = 手机的图纸/设计图
对象 = 根据图纸制造出来的具体手机StringRedisTemplate = 手机的图纸
stringRedisTemplate = 你手里的那部手机
二、StringRedisTemplate 类
1. 是什么?
StringRedisTemplate 是 Spring 提供的 Redis 操作工具类。
2. 作用
- 操作 Redis 数据库
- 存储、读取、删除数据
- 管理 Redis 连接
3. 为什么叫 StringRedisTemplate?
- 专门操作 Redis 的 String 类型
- 所有 key 和 value 都是 String 类型
4. 类的特点
类 = 模板/蓝图
- 定义了可以做什么(方法)
- 但没有具体的数据
- 不能直接使用
三、stringRedisTemplate 对象
1. 是什么?
stringRedisTemplate 是根据 StringRedisTemplate 类创建的具体对象。
2. 作用
- 实际执行 Redis 操作
- 存储、读取、删除数据
- 有具体的连接和配置
3. 对象的特点
对象 = 根据类创建的具体实例
- 有具体的数据
- 可以执行操作
- 可以直接使用
四、类和对象的关系图
StringRedisTemplate(类)
↓ Spring自动创建
stringRedisTemplate(对象)
↓ 你可以使用
执行Redis操作
详细流程:
1. Spring启动
↓
2. 读取配置文件(application.yaml)
发现Redis配置:host: 127.0.0.1, port: 6379
↓
3. Spring根据StringRedisTemplate类创建对象
配置好Redis连接
↓
4. 看到@Resource注解
↓
5. 自动把对象赋值给stringRedisTemplate变量
↓
6. 你可以在代码中使用stringRedisTemplate了
五、实际使用
1. 声明对象
@Resource
private StringRedisTemplate stringRedisTemplate;- StringRedisTemplate:类的类型
- stringRedisTemplate:对象的名字
- @Resource:让 Spring 自动创建并赋值
2. 使用对象
//存储数据
stringRedisTemplate.opsForValue.set("key","vaule");
//读取数据
stringRedisTemplate.opsForValue.get("key");
//存储Hash
stringRedisTemplate.opsForHash.putAll("key",map);六、完整示例
@Service
public class UserServiceImpl {// 声明:我需要一个StringRedisTemplate对象@Resourceprivate StringRedisTemplate stringRedisTemplate;// ↑ 类型(类) ↑ 名字(对象)public void someMethod() {// 使用对象stringRedisTemplate.opsForValue().set("key", "value");// ↑ 这里用的是对象,不是类}
}总结
- StringRedisTemplate:类(模板),定义可以做什么
- stringRedisTemplate:对象(实例),实际可用的工具
- 关系:对象是根据类创建的
- 作用:操作 Redis 数据库
- 创建:Spring 通过 @Resource 自动创建并赋值
简单记忆:
- 类 = 图纸
- 对象 = 根据图纸制造的工具
- 使用对象来操作 Redis
