解释 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
相关推荐
进击的_鹏2 小时前
从零开始的 Redis 学习
服务器·数据库·c++·redis·缓存
肠畔码农5 小时前
Redis 深度内核解析与高性能运维调优指南
运维·数据库·redis
楠楠子呀5 小时前
从零构建高性能 WhatsApp 链接生成器与重定向服务:架构与路由解析
redis·python·容器·架构·flink·散列表·flume
肠畔码农6 小时前
深度解密 Redis 核心引擎:从 MULTI/EXEC 事务机制到 EVAL 脚本的原子性演进
数据库·redis·junit
Rain的Java大神之路7 小时前
Docker搭建Redis集群完全指南
java·运维·redis·后端·docker·容器·架构
克里斯蒂亚诺更新9 小时前
win下如何将redis自启动
数据库·redis·缓存
云游云记10 小时前
Redis 在 PHP 中的使用完全教程
数据库·redis·php
mwmbfh10 小时前
【CentOS7环境下Redis 6.2.14 源码编译部署说明】
linux·运维·数据库·redis
zfoo-framework19 小时前
redis基于指定6.0.9 tag新建学习分支
redis