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/