摘要: 1.订单确认页返回需要用的数据 @Override public OrderConfirmVo confirmOrder() throws ExecutionException, InterruptedException { //构建OrderConfirmVo OrderConfirmVo con 阅读全文
posted @ 2022-03-17 20:26 随遇而安== 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 1.添加购物车 @Override public CartItemVo addToCart(Long skuId, Integer num) throws ExecutionException, InterruptedException { //拿到要操作的购物车信息 BoundHashOperat 阅读全文
posted @ 2022-03-17 15:47 随遇而安== 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 同一个线程内共享数据 public static ThreadLocal<UserInfoTo> toThreadLocal = new ThreadLocal<>(); // 赋值 toThreadLocal.set(userInfoTo); // 取值 UserInfoTo userInfoTo 阅读全文
posted @ 2022-03-17 15:16 随遇而安== 阅读(14) 评论(0) 推荐(0) 编辑
摘要: Single Sign On 一处登陆、处处可用 参考:https://gitee.com/xuxueli0323/xxl-sso 单点登录流程 阅读全文
posted @ 2022-03-17 15:00 随遇而安== 阅读(23) 评论(0) 推荐(0) 编辑
摘要: SpringBoot 整合 SpringSession https://docs.spring.io/spring-session/docs/2.5.0/reference/html5/#samples auth 服务、product 服务、 search 服务 pom文件 <!-- 整合 spri 阅读全文
posted @ 2022-03-17 14:51 随遇而安== 阅读(80) 评论(0) 推荐(0) 编辑
摘要: 一、Session 共享问题 1.1 Session 原理 1.2 分布式下 Session 共享问题 二、Session 共享问题解决 2.1 Session 复制 2.2 客户端存储 2.3 hash一致性 2.4 统一存储 阅读全文
posted @ 2022-03-17 14:47 随遇而安== 阅读(27) 评论(0) 推荐(0) 编辑
摘要: OAuth: : OAuth(开放授权)是一个开放标准,允许用户授权第三方网站访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方网站或分享他们数据的所有内容。 OAuth2.0 :对于用户相关的 OpenAPI(例如获取用户信息,动态同步,照片,日志,分享等),为了保护用户数 阅读全文
posted @ 2022-03-17 14:31 随遇而安== 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 一、参数校验补充 通过注解可以给前端传递过来的值进行校验,例如: 但是这个注解必须配合 @Valid 使用,完成对参数的校验: 而校验的结果,也会自动封装到 BindingResult 类型中,通过这个参数可以很方便的对错误的参数进行处理。 hasErrors() 可以判断是否有参数校验错误,如果有 阅读全文
posted @ 2022-03-17 11:28 随遇而安== 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 一、阿里云短信服务 https://www.aliyun.com/product/sms?spm=5176.159202.J_8058803260.68.64ae6a56APLp1H 二、工具类 HttpUtils HttpUtils 请从 https://github.com/aliyun/api 阅读全文
posted @ 2022-03-17 11:24 随遇而安== 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 一、创建认证模块 1.1 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSc 阅读全文
posted @ 2022-03-17 11:21 随遇而安== 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 一、商品详情 1.1 域名跳转环境 修改本机 hosts 文件: # guli mall # 192.168.163.131 gulimall.com 192.168.163.131 search.gulimall.com 192.168.163.131 item.gulimall.com 1.2 阅读全文
posted @ 2022-03-17 11:09 随遇而安== 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 一、课件 07、异步&线程池.pdf 二、线程池 2.1 线程池的七大参数 /** * Creates a new {@code ThreadPoolExecutor} with the given initial * parameters. * * @param corePoolSize the 阅读全文
posted @ 2022-03-17 10:44 随遇而安== 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 8.检索服务 一、添加模板页面 <!-- 模板引擎 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> 将 阅读全文
posted @ 2022-03-17 10:37 随遇而安== 阅读(67) 评论(0) 推荐(0) 编辑
摘要: 7.缓存和分布式锁 一、课件 05、缓存&分布式锁.pdf 二、缓存 - redis 这里操作环境为商品服务模块,虚拟机初始化时已安装 Redis。 2.1 添加 redis 依赖 <!-- redis --> <dependency> <groupId>org.springframework.boot</groupI 阅读全文
posted @ 2022-03-17 10:15 随遇而安== 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 6.性能与压力测试 课件 04、性能与压力测试.pdf 性能优化 - Nginx 动静分离 首先,把商品服务中静态文件夹 index 放到 nginx 下 /mydata/nginx/html/static目录; 给模板中所有静态资源的请求路径前都加上 /static; 修改 Nginx 配置文件 /mydata/ng 阅读全文
posted @ 2022-03-17 10:04 随遇而安== 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 5.Nginx-搭建域名访问环境 一、修改 Windows hosts 文件 位置:C:\Windows\System32\drivers\etc 在后面追加以下内容: # guli mall # 192.168.163.131 gulimall.com 二、Nginx 配置文件 三、分析Nginx配置文件 cat /mydata/ 阅读全文
posted @ 2022-03-17 09:59 随遇而安== 阅读(380) 评论(0) 推荐(0) 编辑
摘要: 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。 /* 解题思路 因为出现次数要相同所以如果两个字符串长度不一样就直接返回 false ,然后先扫描 s 把 s 中每个char都记录 阅读全文
posted @ 2022-03-17 09:14 随遇而安== 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 请编写一个函数,用于 删除单链表中某个特定节点 。在设计函数时需要注意,你无法访问链表的头节点 head ,只能直接访问 要被删除的节点 。 题目数据保证需要删除的节点 不是末尾节点 。 /* 方法、投机取巧 因为题目只给了要删除的节点,我们无法拿到其上一个节点,所以,我们要迂回一下想法。 我们可以 阅读全文
posted @ 2022-03-17 09:12 随遇而安== 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 例如,给定如下二叉搜索树: root = [6, 阅读全文
posted @ 2022-03-17 09:10 随遇而安== 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false 。 /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode n 阅读全文
posted @ 2022-03-17 09:08 随遇而安== 阅读(17) 评论(0) 推荐(0) 编辑