史上最全的Redis基础+进阶项目实战总结笔记

简介 

本章节是基于黑马程序员视频课程的学习笔记,其中涵盖项目实现、流程分析、各个方法的介绍、最后会带上完整的代码实现(gitee获取)!本章节会持续更新,于今日2022-6-28开始...

本文完全依照黑马程序员课程目录,依次用Redis实现:

  • Redis基础知识&&数据结构
  • 短信登入
  • 商户查询缓存
  • 优惠券秒杀
  • 达人探店
  • 好友关注
  • 附近商户
  • 用户签到
  • UV统计

初始项目导入

本人已将其放在百度网盘中,自行下载,已实现Session短信验证登入!

无bug!!! 

链接:https://pan.baidu.com/s/1F30rCGfgtodsNfki1OK-MA 
提取码:3hx6 
--来自百度网盘超级会员V4的分享

(1)导入hmdp.sql数据库

本章节所述项目(最终)的骨架如下:

(2)导入后端代码

无需更改,只要修改一下自己的application.yml的配置即可!

(3)导入前端代码

前端代码在nginx中的html目录下,将nginx目录放在合适的地方即可,使用命令start nginx.exe启动。

博客文章跳转 

Redis为什么这么高效?

Redis是单线程还是多线程?为什么效率这么高?_面向鸿蒙编程的博客-CSDN博客Redis确实是单线程的,但是严格的说Redis并不是全面单线程的!!!https://blog.csdn.net/weixin_43715214/article/details/125273113Redis简介与数据结构

Redis的简介与数据结构_面向鸿蒙编程的博客-CSDN博客NoSQL就是Not only SQLRedis诞⽣于2009年全称是Remote Dictionary Server,远程词典服务器,是⼀个基于内存的键值型NoSQL数据库。Redis是⼀个key-value的数据库,key⼀般是String类型,不过value的类型多种多样大致是5大基本类型,3大特殊类型。Redis为了方便我们学习,将操作不同数据类型的命令也做了分组Redis官网命令手册例如:我们可以筛选只看关于String类型的命令我们也可以在命令窗口查看命令指的是是部分数据类型的,都可以使用https://blog.csdn.net/weixin_43715214/article/details/125289082

Java操作Redis以及Redis线程池的用法

Java操作Redis以及Redis线程池的用法_面向鸿蒙编程的博客-CSDN博客在Redis官网中提供了很多语言的客户端:Redis官网所以我们大致是要了解3种客户端 Jedis、lettuce、Redisson其中Spring帮我们做了整合,将Jedis与lettuce进行了封装成了它特有的Spring Data Redis至于Redisson是用在分布式的场景中,在学习分布式锁的时候小伙伴可以自行去了解一下,这里不做赘述。建立连接、编写测试方法、释放资源注意: 在Junit5中使用 @BeforeEach注解替代了 在Junit4的@Before。表示https://blog.csdn.net/weixin_43715214/article/details/125354094

SpringBoot整合Redis

SpringBoot整合Redis_面向鸿蒙编程的博客-CSDN博客在Spring Data Redis 中提供了RedisTemplate工具类,其中封装了各种Redis操作。并且将不同的数据类型的操作API封装到了不同的类型里。如下所示: 配置application.yml文件编写测试这里注入RedisRemplate对象,并使用其封装的Redis的操作。结果如下: 我们刚刚将name的值设置为TL,现在我们使用shell命令查看但是奇怪的是查询的结果并不是TL而是之前插入的 “jack” 我们不妨使用 keys * 命令查看一下: 显然里https://blog.csdn.net/weixin_43715214/article/details/125469351

Redis实现短信登入功能(一)传统的Session登入 

Redis实现短信登入功能(一)传统的Session登入_面向鸿蒙编程的博客-CSDN博客https://blog.csdn.net/weixin_43715214/article/details/125511739

源码实现

链接:https://pan.baidu.com/s/1F30rCGfgtodsNfki1OK-MA 
提取码:3hx6 
--来自百度网盘超级会员V4的分享 

Redis实现短信登入功能(二)Redis实现登入功能 

Redis实现短信登入功能(二)Redis实现登入功能_面向鸿蒙编程的博客-CSDN博客https://blog.csdn.net/weixin_43715214/article/details/125516361

源码实现 

链接:https://pan.baidu.com/s/1qeUeCcN3cvBH79p6WJu2tA 
提取码:95yj 
--来自百度网盘超级会员V4的分享

Redis的缓存实现方案(一)添加redis缓存与扩展

Redis的缓存实现方案(一)添加redis缓存与扩展_面向鸿蒙编程的博客-CSDN博客缓存就是数据交换的缓冲区(称作Cache),是存贮数据的临时地方,一般读写性能较高。先查询Redis,如果命中,直接将数据取出;反之未命中,则查询MySQL数据库,若有数据返回客户端,并且将其写入Redis缓存中。当请求进入Tomcat以后,以前是查询数据库,而数据库本身是存在磁盘中的,查询需要进行IO操作,耗时,会给数据库造成压力;但是当我们有了缓存,请求进入Tomcat以后,直接进入Redis,查到后将结果返回给前端,就减轻了后端的负载。基于内存,所以读写快!............https://blog.csdn.net/weixin_43715214/article/details/125579676

源码实现 

链接:https://pan.baidu.com/s/14lH4igdPvwZikAApA6ztYA 
提取码:l2hh 
--来自百度网盘超级会员V4的分享 

Redis的缓存实现方案(二)缓存更新策略与实践

 

Redis的缓存问题(三)缓存穿透、缓存雪崩、缓存击穿 

Redis的缓存问题(三)缓存穿透、缓存雪崩、缓存击穿_面向鸿蒙编程的博客-CSDN博客缓存穿透是指客户端请求的数据在缓存中和数据库中都不存在,这样缓存永远不会生效,这些请求都会打到数据库。简单的来说,就是请求之后,发现数据不存在,就将null值打入Redis中。优点:缺点:分析:当请求第一次来时,数据库中没有该数据,数据库向Redis写入一个null;此时正好数据库中被插入了该数据,又有一个请求来访问,但是刚刚向Redis中插入的null来没有过期,就出现了不一致(该请求从Redis拿到的结果就是null,而数据库中其实是有实际数据的)当然我们也有许多的解决办法,例如:将TTL的时间设置的足https://blog.csdn.net/weixin_43715214/article/details/125632987 

未完...

posted @ 2022-06-28 16:52  金鳞踏雨  阅读(42)  评论(0编辑  收藏  举报  来源