![](https://img-blog.csdnimg.cn/6e4ada3d07f3418f8bc4294df93f0cbd.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
谷粒商城
文章平均质量分 96
谷粒商城-尚品汇
yfstart
Java
展开
-
谷粒商城 Day09 首页分类与SpEL动态缓存切面
Day09 首页分类与SpEL动态缓存切面一、优化缓存逻辑百万并发进来,判断 bloomFilter 和缓存中拿,先执行哪个最好?1. 先布隆 ,再缓存 面对攻击 1 好2. 先缓存 ,再布隆 正常业务 2 好 99%数据可能都在缓存有 99w + 99w ~= 200w缓存永远都得看,布隆少判断一次就节省很多时间所以最后我们商品详情的流程是这样的,用户查询查某个skuId,先判断缓存中有没有,这里解释一下为什么要先判断缓存,在正常业务时,先缓存再布隆好,因为99%的原创 2021-12-16 18:09:50 · 389 阅读 · 1 评论 -
谷粒商城 Day08 布隆过滤器与缓存切面
Day08 布隆过滤器与缓存切面一、答疑使用HashMap本地缓存,是使用内存还是硬盘?如果使用内存,是不是程序重启了,缓存就丢失了?二、业务中缓存使用总结&问题&面试题1、数据一致性问题数据库修改以后,缓存的数据需要同步过来【缓存中的所有数据都应当有过期时间】① 缓存的每个数据都必须有过期时间允许有一段时间数据不一致,但是要保证数据最终要一致【最终一致性】sku:info:50:后台改了50号数据,30min 分钟过期,数据过期以后,下一次对此数据的查询会触发更新逻辑,最原创 2021-12-14 22:24:13 · 851 阅读 · 0 评论 -
谷粒商城 Day07 缓存与分布式锁
Day07 缓存与分布式锁一、答疑1、如何开启 OpenFeign 的日志功能loggin.level.你feign接口所在的包 : debug 就可以例如:2、缓存穿透问题Redis的穿透,如果我用随机值去攻击的话,那么上课讲的设置 null 值的方法不就没有效果了吗?每次 key 都是 uuid 的东西每次缓存没有,去查数据库,然后返回 null,再缓存既浪费了 redis,数据库还防止不住缓存 null 值已经没有作用了解决方法:布隆过滤器(下次用)【使用少量空间,来做到判原创 2021-12-13 10:46:28 · 731 阅读 · 0 评论 -
谷粒商城 Day06 商品详情页web&缓存简介
Day06 商品详情页web&缓存简介一、查询商品详情页流程图分布式下使用本地Map作为缓存主要以下问题1、数据一致性问题2、缓存失效问题 缓存在某些时刻并没有缓解数据库压力。全发给数据库,导致请求堆积问题,造成服务雪崩思路:虽然咱们实现了页面需要的功能,但是考虑到该页面是被用户高频访问的,所以性能需要优化。一般一个系统最大的性能瓶颈,就是数据库的io操作。从数据库入手也是调优性价比最高的切入点。一般分为两个层面,一是提高数据库sql本身的性能,二是尽量避免直接查询数据库。重原创 2021-12-12 20:01:37 · 948 阅读 · 0 评论 -
谷粒商城 Day05 商品详情页接口准备
Day05 商品详情页接口准备一、Thymeleaf1、thymeleaf 简介① HelloControllercom.atguigu.thymeleaf.controller.HelloController/** * 1、引入starter * <dependency> * <groupId>org.springframework.boot</groupId> * <artifac原创 2021-12-12 19:48:56 · 695 阅读 · 0 评论 -
谷粒商城 Day04 sku与spu接口
Day04 sku与spu接口一、答疑1、Docker① 如果在创建容器的时候,没有进行端口映射和卷的挂载,后来又想添加,我们如何做呢?docker update 不行把docker容器的核心内容docker cp出来,再启动一个新容器挂载② 如何创建nacos的容器镜像呢,和Sentinel完全不一样?FROM alpineCOPY ./nacos /app/nacosENTRYPOINT [“sh”,"/app/nacos/bin/startup.sh"]2、SQL①原创 2021-12-12 19:40:22 · 1241 阅读 · 0 评论 -
谷粒商城 Day03 后台跨域与文件上传
Day03 后台跨域与文件上传根据接口文档完成各个接口文档位置:D:\尚硅谷-Java-210301\16_尚硅谷_雷丰阳_谷粒商城\资料\01 后台管理系统一、根据分类id获取平台属性接口http://api.gmall.com/admin/product/attrInfoList/{category1Id}/{category2Id}/{category3Id}请求参数category1Id:一级分类IDcategory2Id:二级分类IDcategory3Id:三级分原创 2021-12-12 19:28:45 · 885 阅读 · 0 评论 -
谷粒商城 Day02 项目搭建与前后联调
Day02 项目搭建与前后联调二、项目基础概念1、三级分类建立好数据库之后,查询出所有分类商品SELECT b1.id "一级分类Id",b1.`name` "一级分类名",b2.id "二级分类Id",b2.`name` "二级分类名",b3.id "三级分类Id",b3.`name` "三级分类名"FROM base_category1 b1LEFT JOIN base_category2 b2 ON b1.id = b2.category1_idLEFT JOIN base_catego原创 2021-12-12 19:23:31 · 367 阅读 · 0 评论