springboot 2.0 教程-07-集成redis缓存框架

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_31922571/article/details/84873340

阅读原文:https://blog.bywind.cn/articles/2018/11/28/1543373589258.html
视频教程:https://www.bilibili.com/video/av35595465
课程源码:https://github.com/ibywind/springboot-learn
关注公众号 查看更多技术干货
还可加群 , 众多好基友在等你
mpjpg

springboot 书籍 PDF 下载

扫描关注上方公众号
回复关键字 boot
就可以下载这本书了
书籍的排版很好的,我自己也在看.大家可以一起交流哦
1_png

写在前面

hello 大家好

欢迎大家收看御风大世界

本次课是

springboot 系列教程第7课

我将为大家演示

springboot 如何集成redis 来做缓存框架

为什么要用缓存

缓存的目的是快速获取数据

减少服务器读写的压力

对于一个存在数据库访问的网站来讲

频繁的去访问Mysql 数据库

显然是 性能非常低下的

如果我们可以将一些热点数据

做数据预热 放到缓存中 , 获取时 直接走缓存拿数据

那么对于后端数据的 压力降减小很多的

对于整个网站的性能和用户体验也是很大的提升.

这个图片是没有用到缓存

我们直接访问数据

拿到数据然后交给客服端

下面这个图片是用到Redis 作为缓存的

我们在DB之上 假设了一道缓存 服务.

用于缓存结果 , 用于提升访问性能,减少DB压力

redis优势

首先 redis 是一种 nosql 数据库

我们说nosql 可能大家会认为是

不能写 SQL语句的 数据库吧

其实 no 也可以翻译为 not only 的意思

就是不仅仅是 sql , nosql 数据库不仅仅能实现 传统SQL数据库的数据能力

同时在某些特定场景 特们体现的 性能 和 优越性 要 远超 传统SQL 数据库

下图是 目前主流 nosql 数据库的一个对比

目前 互联网公司用的最多的 就是 Redis了

redis的优点 我总结的有下面这些

(1) 速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1)

(2) 支持丰富数据类型,支持string,list,set,sorted set,hash

(3) 支持事务,操作都是原子性,所谓的原子性就是对数据的更改要么全部执行,要么全部不执行

(4) 丰富的特性:可用于缓存,消息,按key设置过期时间,过期后将会自动删除

当然这里可能不完整 , 大家可以去百度搜索你想要的

我们来到 redis.io 官网

目前最新的稳定版本是 5.0

然后我发现了一个 try redis 的连接

打开之后是这样的

你可以尝试在里面 写一些 redis cli 的 命令

然后看下效果

用来上手 redis 或者学习redis 的 一些命令行操作还是很不错的

集成redis

首先需要在windows 下面安装 redis

如果你已经有了一个可以访问的redis这一步可以跳过了

https://github.com/MicrosoftArchive/redis/releases

点击这个链接下载

这两个 都是可以的 一个是 运行程序 需要点击安装

另外一个是 压缩包 相当于 绿色版

解压之后 我们看到这些文件

其中 redis.windows.conf 就是 配置文件了 你可以进去修改一些东西的

我们这里使用默认的

我们用命令行启动 这个redis 实例

使用CMD 命令行 运行下面的 命令 就可以了

redis 运行在 6379

需要注意的是 你目前 是 当前会话

如果你关闭这个 CMD 窗口的化 进程自己就消失了

你过你需要后台运行的化 你需要加 &

接下来我们来到 springboot项目

springboot官方对于 redis 有一个很好的支持

我么直接导入这个依赖

我么加入maven 依赖之后

我们看到我们的统一配置文件

那些 绿色的值 就是 springboot的默认配置

看来这里 我们又不需要 做任何的修改了

哈哈 开心

因为 我们会用到 jedis 作为 redis 访问的 JAVA实现

所以有一些 jedis 的配置项 我们需要搞一下

代码和测试

我们的代码很简单

首先你只需要引用spring 自己的redis操作类就可以了

测试的方法

我就是简单的

set | get

因为其他的技术API了, 一通百通的事

结束语

如果大家对于这里比较感兴趣的话

可以去B站查看我的视频讲解

https://space.bilibili.com/193580090/#/

或者是在 github下载源码

https://github.com/ibywind/springboot-learn

猜你喜欢

转载自blog.csdn.net/qq_31922571/article/details/84873340