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

95 篇文章 0 订阅
89 篇文章 0 订阅

简介

本章节是基于黑马程序员视频课程的学习笔记,其中涵盖项目实现、流程分析、各个方法的介绍、最后会带上完整的代码实现(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并不是全面单线程的!!![这里是图片005]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类型的命令我们也可以在命令窗口查看命令指的是是部分数据类型的,都可以使用[这里是图片006]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。表示[这里是图片007]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 * 命令查看一下: 显然里[这里是图片008]https://blog.csdn.net/weixin_43715214/article/details/125469351

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

Redis实现短信登入功能(一)传统的Session登入_的博客-CSDN博客[这里是图片009]https://blog.csdn.net/weixin_43715214/article/details/125511739

源码实现

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

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

Redis实现短信登入功能(二)Redis实现登入功能_的博客-CSDN博客[这里是图片010]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,查到后将结果返回给前端,就减轻了后端的负载。基于内存,所以读写快!…[这里是图片011]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的时间设置的足[这里是图片012]https://blog.csdn.net/weixin_43715214/article/details/125632987

未完…

先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值