解释 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
相关推荐
知我Deja_Vu5 天前
redisCommonHelper.generateCode(“GROUP“),Redis 生成码方法
数据库·redis·缓存
Charlie_lll5 天前
Redis脑裂问题处理——基于min-replicas-to-write配置
redis·后端
奇点爆破XC5 天前
Redis迁移
数据库·redis·bootstrap
断手当码农5 天前
Redis 实现分布式锁的三种方式
数据库·redis·分布式
菜鸟小九5 天前
redis原理篇(基本数据结构)
数据结构·数据库·redis
没有bug.的程序员5 天前
电商秒杀系统深度进阶:高并发流量建模、库存零超卖内核与 Redis+MQ 闭环
数据库·redis·缓存·高并发·电商秒杀·流量建模·库存零超卖
菜鸟小九5 天前
redis原理篇(五种数据结构)
数据结构·数据库·redis
初次攀爬者5 天前
Redis分布式锁实现的三种方式-基于setnx,lua脚本和Redisson
redis·分布式·后端
June`5 天前
Redis缓存深度解析:20%数据应对80%请求
数据库·redis
m0_738120725 天前
应急响应——Solar月赛emergency靶场溯源过程(内含靶机下载以及流量分析)
java·开发语言·网络·redis·web安全·系统安全