
谷粒商城项目
文章平均质量分 58
谷粒商城项目总结
AgoniL
这个作者很懒,什么都没留下…
展开
-
谷粒商城项目总结--Token解决订单接口幂等性
生成订单时生成防重令牌//5.防重令牌 String token = UUID.randomUUID().toString().replace("-", ""); //给页面一份 confirmVo.setOrderToken(token); //给REDIS一份redisTemplate.opsForValue().set(OrderConstant.USER_ORDER_TOKEN_PREFIX + memberRespVo.get.原创 2021-08-12 15:36:00 · 501 阅读 · 0 评论 -
谷粒商城项目总结--RabbitMq
RabbitMq一、RabbitMQ概念二、RabbitMQ运行机制三、Docker安装RabbitMQ四、RabbitMQ整合五、RabbitMQ消息确认机制-可靠抵达六、RabbitMQ延时队列(实现定时任务)七、如何保证消息可靠性1、消息丢失2、消息重复3、消息积压一、RabbitMQ概念RabbitMQ简介: RabbitMQ是一个由erlang开发的AMQP(Advanved Message Queue Protocol)的开源实现。核心概念Message消息,消息是不具名的,原创 2021-08-12 15:17:59 · 851 阅读 · 0 评论 -
谷粒商城项目总结--Feign远程调用和异步情况出现的问题
FeignFeign远程调用丢失请求头问题Feign异步情况丢失上下文问题Feign远程调用丢失请求头问题@Configurationpublic class MallFeignConfig { @Bean("requestInterceptor") public RequestInterceptor requestInterceptor(){ return new RequestInterceptor() { @Override原创 2021-08-11 16:27:02 · 480 阅读 · 0 评论 -
谷粒商城项目总结--异步 线程池
异步 线程池一、线程回顾1、初始化线程的 4 种方式2、线程池的七大参数3、运行流程:4、开发中为什么使用线程池二、CompletableFuture 异步编排1、创建异步对象2、计算完成时回调方法3、handle 方法4、线程串行化方法5、两任务组合 - 都要完成6、两任务组合 - 一个完成7、多任务组合三、配置一、线程回顾1、初始化线程的 4 种方式1、继承 Thread2、实现 Runnable 接口3、实现 Callable 接口 + FutureTask(可以拿到返回结果,可以处理异常原创 2021-08-11 15:13:35 · 585 阅读 · 0 评论 -
谷粒商城项目总结--MD5&MD5盐值加密
• MD5• Message Digest algorithm 5,信息摘要算法• 压缩性:任意长度的数据,算出的MD5值长度都是固定的。• 容易计算:从原数据计算出MD5值很容易。• 抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别。• 强抗碰撞:想找到两个不同的数据,使它们具有相同的MD5值,是非常困难的。• 不可逆• 加盐: • 通过生成随机数与MD5生成字符串进行组合 • 数据库同时存储MD5值与salt值。验证正确性时使用salt进行MD5即可.原创 2021-08-11 15:46:03 · 337 阅读 · 0 评论 -
谷粒商城项目总结--异常机制
public class PhoneExsitException extends RuntimeException { public PhoneExsitException() { super("手机号已存在"); }} public void checkUsernameUnique(String username) throws UsernameExsitException { Integer count = baseMapper.selectCo原创 2021-08-11 15:30:34 · 138 阅读 · 0 评论 -
谷粒商城项目总结--SpringSession解决分布式Session
参考官方文档核心原理1.导入依赖 <dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session-data-redis</artifactId> </dependency>2.配置//使用redis做sessionspring.s原创 2021-08-11 16:04:32 · 310 阅读 · 0 评论 -
谷粒商城项目总结--分布式锁Redisson
分布式锁一、自己模拟一个分布式锁二、Redisson 完成分布式锁1.导入依赖2.配置3.使用3.1 可重入锁3.2 公平锁3.3 读写锁3.4 闭锁3.5 信号量一、自己模拟一个分布式锁 /** * @Description 自己模拟一个分布式锁 * 加锁使用setIfAbsent setnx(setIfPresent setex) * 值不要写固定字符串 使用大字符串如 UUID * 解锁使用lua脚本 */ public Map<原创 2021-08-10 17:13:36 · 578 阅读 · 0 评论 -
谷粒商城项目总结--缓存
缓存一、缓存二、缓存失效问题1、缓存穿透2、缓存雪崩3、缓存击穿三、缓存数据一致性四、Spring Cache一、缓存为了系统性能的提升,我们一般都会将部分数据放入缓存中,加速访问。而 db承担数据落盘工作。哪些数据适合放入缓存?举例:电商类应用,商品分类,商品列表等适合缓存并加一个失效时间(根据数据更新频率来定),后台如果发布一个商品,买家需要 5 分钟才能看到新的商品一般还是可以接受的。即时性、数据一致性要求不高的访问量大且更新频率不高的数据(读多,写少)注意:在开发中,凡是放入缓原创 2021-08-10 18:08:03 · 614 阅读 · 0 评论 -
谷粒商城项目总结--Nginx
安装见环境篇文档配置文件全局块events块http块server块全局块用户组 user nginx;work进程数量配置 worker_processes auto;错误日志位置 error_log /var/log/nginx/error.log notice;pid文件位置 pid /var/run/nginx.pid;events块每个进程最大连接数 worker_connections 1024;http块支持的mime类型 in原创 2021-08-10 15:40:15 · 303 阅读 · 0 评论 -
谷粒商城项目总结--Elasticsearch
Elasticsearch一、基本概念二、安装三、初步检索1、_cat2、索引一个文档(保存)3、查询文档4、更新文档5、删除文档&索引6、bulk 批量 API7、样本测试数据四、进阶检索1、检索信息2、Query DSL1、基本语法格式2、返回部分字段3、match【匹配查询】4、match_phrase【短语匹配】5、multi_match【多字段匹配】6、bool【复合查询】7、filter【结果过滤】8、term9、aggregations(执行聚合)3、Mapping4、数据迁移5、分词原创 2021-08-09 21:24:03 · 1191 阅读 · 1 评论 -
谷粒商城项目总结--SpringCloud Alibaba
SpringCloud Alibaba1. 版本选择2. 项目中的依赖NacosSpringCloud Alibaba-Nacos[作为注册中心]SpringCloud Alibaba-Nacos[作为配置中心]Feign 声明式远程调用Gateway1. 版本选择由于 Spring Boot 1 和 Spring Boot 2 在 Actuator 模块的接口和注解有很大的变更,且spring-cloud-commons 从 1.x.x 版本升级到 2.0.0 版本也有较大的变更,因此我们采取跟Sp原创 2021-08-09 17:13:22 · 293 阅读 · 0 评论 -
谷粒商城项目总结--JSR303数据校验
分组校验需要指定groups 需要@Validated 需要创建相应的接口设置不同分组可以设置不同状态下的校验规则//接口什么都不用写 创建就行public interface UpdateGroup {}public interface AddGroup{} @NotNull(message = "修改必须指定ID",groups = {UpdateGroup.class}) @Null(message = "新增不能指定ID",groups = {AddGroup.class}) @.原创 2021-08-09 18:12:51 · 241 阅读 · 0 评论 -
谷粒商城项目总结--环境篇
环境搭建安装DockerDocker 安装 MySqlDocker 安装 RedisMavenGit安装Docker安装文档 https://docs.docker.com/engine/install/centos/1、卸载系统之前的 dockersudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \doc原创 2021-08-09 16:13:05 · 241 阅读 · 0 评论 -
谷粒商城项目总结--MyBatis-Plus
MyBatis-Plus分页逻辑删除参考官网 https://mp.baomidou.com/guide/分页配置分页插件//Spring boot方式@Configuration@MapperScan("com.baomidou.cloud.service.*.mapper*")public class MybatisPlusConfig { // 最新版 @Bean public MybatisPlusInterceptor mybatisPlusInterce原创 2021-08-09 17:53:32 · 204 阅读 · 0 评论