解释 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
相关推荐
czlczl200209251 小时前
Spring Data Redis
java·redis·spring
he___H2 小时前
Redis高级特性
数据库·redis·缓存
crossaspeed2 小时前
Redis的持久化(八股)
数据库·redis·缓存
1104.北光c°3 小时前
【黑马点评项目笔记 | 登录篇】Redis实现共享Session登录
java·开发语言·数据库·redis·笔记·spring·java-ee
三水不滴5 小时前
Redis 故障转移:哨兵vs集群
数据库·经验分享·redis·缓存·性能优化
TracyCoder1235 小时前
Redis 大 Key问题解析与治理
redis
虫小宝6 小时前
查券返利机器人的异步任务调度:Java XXL-Job+Redis实现海量查券请求的分布式任务分发
java·redis·分布式
huohuopro7 小时前
Redis安装和杂谈
数据库·redis·缓存
fengxin_rou7 小时前
从 String 到 Zset:Redis 核心数据结构全解析及排行榜应用
java·开发语言·redis·多线程
惊讶的猫8 小时前
redis数据淘汰策略
redis·缓存