黑马程序员Redis入门到实战教程,深度透析redis底层原理+redis分布式锁+企业解决方案+黑马点评实战项目

作者: 黑马程序员分类: 计算机技术 发布时间: 2022-02-28 13:30:08 浏览:2864134 次

黑马程序员Redis入门到实战教程,深度透析redis底层原理+redis分布式锁+企业解决方案+黑马点评实战项目

AI白嫖党:
p77 基于stream队列的秒杀改造完之后,控制台报出一个错误,不知道怎么解决了[疑惑],有大佬可以帮忙看一下吗?感谢@黑马虎翼老师 org.springframework.data.redis.RedisSystemException: Error in execution; nested exception is io.lettuce.core.RedisCommandExecutionException: ERR Error running script (call to f_39ca3dbcd812758f09aeaf246f95d7d4a8a8b327): @user_script:17: user_script:17: attempt to compare nil with number

【回复】attempt to compare nil with number是因为执行if(tonumber(redis.call('get', stockKey)) <= 0) 这个命令的时候,get不到redis的库存信息, 这边有个坑,当你使用jmeter的时候,顶部start是执行所有脚本,所以你这边会执行秒杀抢购单人的脚本,去获取其他秒杀券id, 所以你可以修改秒杀单人脚本的id值,或者右键启动单独的秒杀抢购多人脚本
【回复】兄弟解决了吗?,我也遇到了,求教
凉风蓝海和你-墨忆:
@黑马虎翼老师 我在执行登录的时候为啥前段没有执行/user/me的方法?哪里的问题

【回复】回复 @浪潮一匹狼丶 : 在前端login.html中有一个method叫做login,把里面的index.html(87行左右)改成info.html
【回复】借楼,也可能是拦截器MvcConfig前忘加注解@Configuration导致拦截器没有生效
damndam:
实战篇看完了,也打算告一段落看看其他技术了。但这视频老师确实录的很好,就针对redis设计,也不刻意去弄复杂,对一个个技术来学的话很有帮助。 完完整整看下来的话,老师的业务实现的逻辑思路和写代码过程以及debug的思路也是很值得学习的,真的纵享丝滑。 包括也看得出来老师对待这课程也很用心,实战篇后半段更新时间是3月16号,从视频里也才知道是3月14号才录,更别说后面的高级篇,属于是加班加点的更出来了。 感谢老师和黑马,也祝黑马越办越好

【回复】蟹蟹你[给心心][给心心]
【回复】回复 @黑马程序员 :是先学新出的springboot那一套还是这个redis啊?
【回复】借个楼分享一波笔记:https://blog.csdn.net/weixin_43715214/article/details/125505311
这就是卢儿:
B站上所有的redis课程 估计都没这个课程质量高! 真的是除了redis本身之外,尤其是对于redis应用方面讲的非常好!看完这个视频并照着做下去,你可以放心大胆的在简历上写上你会redis 并且当面试官问起来的时候可以把redis应用例子和使用方法讲的很详细,所以别看这个视频长,都是精华!

【回复】回复 @黑马程序员 : 黑马老师你好,我是按照2022黑马程序员Java学习路线图学习的,提一个小小的建议,就是那些观看量少的,而且比较老的课,能不能麻烦重新出视频,比如RocketMQ,SpringSecurity,OAuth2.0等等,这些实际应用很多,而且又很重要的课。非常喜欢黑马的老师们讲课,java学习路线图里面,比较新的java基础、java web、ssm、spring boot2、spring cloud课程。我都认认真真看了三遍。
【回复】回复 @千手扉间是信仰 : 我感觉黑马这个可以,动力节点我听完四分之一果断换了。。。
一周一杯奶茶:
P37 作业 & P69 tokens文件生成 P37 商铺类型缓存作业参考 Redis数据结构采用List 使用Stream流简化集合操作 P69 在...

【回复】虽然哥们也是实现了,但是哥们用的是笨方法,直接for循环的方式遍历list存入和取出。完全不知道怎么用stream的方式。强呀哥们[点赞]
【回复】这个range如果没找到会返回空串,不能实现缓存穿透
【回复】老哥猛,我学了这么久java都写不出来这段脚本[大哭]
爱尚Frank:
p37作业:仅供参考 @GetMapping("list") public Result queryTypeList() { /...

【回复】你这个key里面放uuid 岂不是每次查询的key都是不一样的
是星星变了心:
// P69创建 tokens.txt文件 @SpringBootTest @AutoConfigureMockMvc class VoucherOrde...

【回复】大佬,我想问一下LoginFormDto的builder()是什么?你这里只有test测试类,看不到你的实体类写了什么方法
【回复】为什么我只能生成500个,然后65行报空指针异常[喜极而泣]
社会化调剂:
P25 ★★无法启动nginx.exe;error.log记录:系统无法找到指定路径;解决方式: nginx-1.18.0目录下新建temp文件夹➡新建c...

【回复】回复 @艾欧尼亚郭艾伦 :我查了下大神说是解压软件的问题 空文件夹没有被解压
【回复】我去,真行了,这什么原理
【回复】回复 @Leezw- : 解压路径有中文吧
Q大阳Q:
直接运行老师的gitee项目有好多错误,然后自己根据老师gitee的项目和黑马公众号里面的项目重新整合了下,只需改一下配置文件里面的redis,运行不会报错。整理到P29,大家可以直接P30开干![OK] 链接: https://pan.baidu.com/s/1F82Nxl2LUN1jwi8ewXklcw 提取码: wssy 复制这段内容后打开百度网盘手机App,操作更方便哦

【回复】Gitee是完整版本,依赖后期的课程内容,是用来做参考的,不要运行。 公众号资料目前重新上传了,测试是完整可运行的。
【回复】回复 @黑马虎翼老师 :老师我那个axios请求发不过去,说vue中的showclose方法没有被定义,是咋回事呢
【回复】如果这个爆“Property 'sqlSessionFactory' or 'sqlSessionTemplate' are required”错误,记得加上mybatis-spring-boot-starter的依赖
平头哥是魔鬼啊:
翻了翻没找到Typora版的笔记,于是自己边学边写,目前刚看完基础篇,笔记也是记到了基础篇,我把typora版的笔记下载链接放在了我博客文章的最上面,方便我看完其他部分后更新下载地址,大家有需要就去下载吧:https://www.oz6.cn/articles/58

bili_33171624554:
项目代码地址: https://gitee.com/huyi612/hm-dianping

【回复】回复 @孤意一等天明 :虽然session也可以,不过不建议,原因有两个: 1,登陆不一定用session实现,后期就会用Redis代替session 2,在业务层获取session需要调用servlet相关的API,或者把session传递到service层。用起来不太方便。而且session毕竟是web层的东西,尽量不要进业务层。
【回复】老师,我想问一下,使用session的方式解决短信登录,为什么在拦截器中获取用户信息需要存入到threadlocal中啊,如果只是为了解决控制层可以方便获取用户信息,那我也可以在控制层中通过session获取啊,我有点不理解,可能我对threadlocal不是理解,老师如果看到,能帮忙解答一下疑问嘛[呲牙]
【回复】黑马老师们好, 请问redis原理篇什么时候更新呀? 还是说要收费呢? 急需! 老师们辛苦了! [打call]
Mengmmm1:
P37作业T-T @Override public Result queryShopList() { // 1. 从redis中查询商铺类型列表 ...

【回复】你这个有问题,一共10条,存了30多条,并且键名为空,走不到缓存
【回复】A JSONObject text must begin with '{' at 1 【character 2 line 1】,有这个错误 因为你遍历List<String>后再把String转换为实体对象这块好像不对,我也不会弄
demoznzjsj:
实战篇Redis 开篇导读 亲爱的小伙伴们大家好,马上咱们就开始实战篇的内容了,相信通过本章的学习,小伙伴们就能理解各种redis的使用啦,接下来咱们来一...

我爱学习-身体好:
shoptypeController: return typeService.getlist(); shopTypeServeceImpl:

【回复】b站需要这样优秀的同学
不太迷人的反派_:
看完了,刚刚面试把看的全说了,面试官开了20k,让我明天入职,感谢黑马。

【回复】没看完,刚刚把面试官骂了一顿,面试官要开了我,让我明天离职,感谢黑马。
【回复】已学完,应届拿到美团offer,每单3元,感谢黑马!
【回复】1点发的视频你三点多学完了???
96531927436_bili:
第54 节事务肯定失效: 应该这样: @Autowired private VoucherOrderServiceImpl voucherOrderServiceImpl; voucherOrderServiceImpl.createOrder(voucherId);

【回复】回复 @小鼠qq : voucherOrderServiceImpl.createOrder(voucherId); 等效于this.createOrder(voucherId) this 拿到的是原始对象,没有经过动态代理,使用Autowired 注入的是经过动态代理的,可以处理事务,这是开发中大坑, 当然你也可以通过application.getbean(voucherOrderServiceImpl.class) 拿到代理类
【回复】回复 @名字真的被占用了 : 我跟着做也是事务失效 一直有多个线程进去 一人多单 后来发现是seckillVoucher() 这个方法上事务的注解我没删除 我把这个方法上事务的注解删掉就好了 可能是 这个调用createVoucherOrder的函数执行完事务没用提交 导致的它内部调的createVoucherOrder的函数也没有被提交 从而使第一个线程执行后没有提交 第二个线程就获取到了锁
【回复】回复 @小迪rdh : 奇怪,为什么回复的不见了;createOrder(voucherId) 这种在类里直接调用相当于this.createOrder(voucherId)啊,这种内部方法直接调用即使标记@translation也是事务失效,因为没有经过动态代理,@autowaire @resource 在属性注入后,beanpostporcesor 后缀钩子会判断是否需要aop,是则进行动态代理,spring的事务是动态代理进行处理的,所以老师的不行
壹枚egg:
视频第90P,查询美食附近店铺的,注意reids服务端版本要在6.2版本以上,否则会报错RedisCommandExecutionException: ERR unknown command `GEOSEARCH` ... 这提供了redis 6.2.3 windows版本的,需要的自取 链接: https://pan.baidu.com/s/1zpLq1ToYR5U-k3UDiVXmPQ 提取码: g338

【回复】回复 @夏洛克一伊莱 :有普通下载的选项你仔细看看吧,下载也还行
【回复】回复 @Aicmc :我刚才访问没啥问题呀?没有付费的要求呀
【回复】回复 @夏洛克一伊莱 :兄弟,能百度网盘分享一下吗,那个要钱才能下载@[笑哭][笑哭]

程序员的书单 JAVA 编程 黑马程序员 java Java教程 编程开发 redis Redis 跟着UP主创作吧(第二期)

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!