Springboot- 整合Redis

442 阅读2分钟

这是我参与8月更文挑战的第8天,活动详情查看:8月更文挑战

 已经完成了七篇文章了,真是不简单啊,坚持果然还是反人性啊!

Redis简介 Redis是一个使用C语言编写的基于内存的的NoSQL数据库,它是目前最流行的键值对存储数据库, Redis由一个Key,Value映射的字典组成,与其他的NoSQL不同Redis中的Value的类型不限于字符串,还支持列表集合,Redis不仅仅可以当作缓存使用,也可以配置数据持久化后当做NOSQL数据库来用,目前来说支持两种持久化的方式,快照持久化,和AOF持久化,另一方面,Redis也可以搭建集权或者主从复制结构,在高并发高可用的环境下具有高可用性. Redis安装 CentOS7安装 下载Rediswget http://download.redis.io/releasses/redis-4.0.10.tar.gz

image.png 下一个最新版就好了安装解压配置

              Windows下直接下载安装就好

整合Springboot 首先创建Springboot项目添加依赖

<!--添加Redis依赖-->
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

配置Redis 在application.properties添加Redis配置信息

#配置Redis
spring.redis.database=0
#照实填
spring.redis.host=192.168.xx.xx

![image.png](https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/d244a43251d548199200532c342a4d66~tplv-k3u1fbpfcp-watermark.image)
spring.redis.port=6379
spring.redis.password=123456

创建实体类 image.png

创建Controller 自动注入一个RedisTemplate 写上测试代码 然后既可以测试了 Redis据说是目前最快的了,因为使用的是缓存,mybaties的二级缓存也可以使用它,缓存的目的就提高效率,提高从数据库读出来的时间,当一个请求过派来的的时候,要先请求缓存,如果缓存没有就再请求数据库. 这是一般情况,缓存处理流程前台请求,后台先从缓存中取数据,取到直接返回结果,取不到时从数据库中取,数据库取到更新缓存,并返回结果,数据库也没取到,那直接返回空结果。 例外情况是缓存击穿,缓存雪崩.

缓存击穿:缓存击穿是指缓存中没有但数据库中有的数据(一般是缓存时间到期),这时由于并发用户特别多,同时读缓存没读到数据,又同时去数据库去取数据,引起数据库压力瞬间增大,造成过大压力

缓存雪崩:缓存雪崩是指缓存中数据大批量到过期时间,而查询数据量巨大,引起数据库压力过大甚至down机。和缓存击穿不同的是,缓存击穿指并发查同一条数据,缓存雪崩是不同数据都过期了,很多数据都查不到从而查数据库。

OK,收工,学习嘛都在路上,无分快慢.