解释 StringRedisTemplate 类和对象的作用与关系

StringRedisTemplate 类和对象

一、类和对象的关系

1. 类(Class)vs 对象(Object)
java 复制代码
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启动

  1. 读取配置文件(application.yaml)

发现Redis配置:host: 127.0.0.1, port: 6379

  1. Spring根据StringRedisTemplate类创建对象

配置好Redis连接

  1. 看到@Resource注解

  1. 自动把对象赋值给stringRedisTemplate变量

  1. 你可以在代码中使用stringRedisTemplate了

五、实际使用

1. 声明对象
java 复制代码
@Resource
private StringRedisTemplate stringRedisTemplate;
  • StringRedisTemplate:类的类型
  • stringRedisTemplate:对象的名字
  • @Resource:让 Spring 自动创建并赋值
2. 使用对象
java 复制代码
//存储数据
stringRedisTemplate.opsForValue.set("key","vaule");
//读取数据
stringRedisTemplate.opsForValue.get("key");
//存储Hash
stringRedisTemplate.opsForHash.putAll("key",map);

六、完整示例

java 复制代码
@Service
public class UserServiceImpl {
    
    // 声明:我需要一个StringRedisTemplate对象
    @Resource
    private StringRedisTemplate stringRedisTemplate;
    //     ↑ 类型(类)        ↑ 名字(对象)
    
    public void someMethod() {
        // 使用对象
        stringRedisTemplate.opsForValue().set("key", "value");
        // ↑ 这里用的是对象,不是类
    }
}

总结

  • StringRedisTemplate:类(模板),定义可以做什么
  • stringRedisTemplate:对象(实例),实际可用的工具
  • 关系:对象是根据类创建的
  • 作用:操作 Redis 数据库
  • 创建:Spring 通过 @Resource 自动创建并赋值

简单记忆:

  • 类 = 图纸
  • 对象 = 根据图纸制造的工具
  • 使用对象来操作 Redis
相关推荐
sthnyph2 小时前
docker compose安装redis
redis·docker·容器
KmSH8umpK2 小时前
Redis分布式锁从原生手写到Redisson高阶落地,附线上死锁复盘优化方案进阶第六篇
数据库·redis·分布式
KmSH8umpK5 小时前
Redis分布式锁从原生手写到Redisson高阶落地,附线上死锁复盘优化方案进阶第四篇
数据库·redis·分布式
KmSH8umpK5 小时前
Redis分布式锁从原生手写到Redisson高阶落地,附线上死锁复盘优化方案进阶第五篇
数据库·redis·分布式
贾红平7 小时前
Redis缓存策略深度解析2026
redis
yuweiade7 小时前
GO 快速升级Go版本
开发语言·redis·golang
运维全栈笔记20 小时前
K8S部署Redis高可用全攻略:1主2从3哨兵架构实战
redis·docker·云原生·容器·架构·kubernetes·bootstrap
凯瑟琳.奥古斯特1 天前
Redis是什么及核心特性
前端·css·redis·缓存
KmSH8umpK1 天前
Redis分布式锁从原生手写到Redisson高阶落地,附线上死锁复盘优化方案进阶第三篇
redis·分布式·wpf
HUGu RGIN1 天前
Linux部署Redis集群
linux·运维·redis