springboot集成redis,实现手动缓存(AOP+注解)

本文介绍了如何在SpringBoot项目中集成Redis以实现手动缓存,通过AOP和注解的方式进行操作。首先简单介绍了Redis的作用,特别是在处理高并发场景下的优势。接着详细讲解了创建SpringBoot项目的过程,包括pom.xml的配置、application.properties的设置以及启动项目进行初步测试。在Redis缓存部分,文章提到了RedisTemplate的使用,包括注解的定义、AOP的实现、Redis配置类和操作类的编写。最后,通过测试验证了缓存功能的正确性,展示了第一次查询从数据库获取数据,后续查询从Redis中获取的场景。
摘要由CSDN通过智能技术生成

redis简介

REmote DIctionary Server(Redis) 是一个由 Salvatore Sanfilippo 写的 key-value 存储系统,是跨平台的非关系型数据库。

Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API。

Redis 通常被称为数据结构服务器,因为值(value)可以是字符串(String)、哈希(Hash)、列表(list)、集合(sets)和有序集合(sorted sets)等类型。

redis作用

在日常的javaweb开发过程中,无时无刻的都在使用数据库进行数据的存储,由于一般的系统中并不存在高并发的情况,所以在平常的开发中都没有什么问题。当业务需求中需要有一些高并发的情况,比如商品的抢购等的一些情景,使用数据库进行数据的查询和存储就会有很大的风险造成服务器宕机等情况,因为数据库是面向磁盘进行数据的读写。磁盘的读写速度相对较慢。这是我们就要选择一些nosql的数据存储方式。redis就是其中的一种。

1、创建springboot项目

1、pom.xml
<!-- redis依赖 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>


<!-- aop依赖 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-aop</artifactId>
</dependency>

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-configuration-processor</artifactId>
    <optional>true</optional>
</dependency>

本文中会使用aop切面+注解实现手动缓存。

2、application.properties
spring.redis.host=127.0.0.1
spring.redis.port=6379

简单的redis配置

3、启动项目进行简单的测试

2、redis缓存

RedisTemplate手动缓存,即使用RedisTemplate实现类操作。

2.1 注解
/**
 * 自定义注解类
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Cache {
   

    /**
     * 过期时间,默认60s
     * @return
     */
    long expire() default 30 * 1000;

    /**
     * 缓存标识name
     * @return
     */
    String name() default "";
}
2.2 aop
**
 * @title: CacheAspect  aop切面设置数据缓存
 * @Author zzm
 * @Date: 2022/4/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

耗子尾汁123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值