秒杀业务总结 文章目录前言一、数据库表设计二、业务思路1.缓存预热2.产生订单3.等待用户支付三、遇到的问题及处理1.购买一次时间太长【我这里优化未生效,花的时间还是一样的!!!】2.订单不能一直被占着3.一货多卖4.锁存在的问题5.jvm调优前言秒杀是我们在平时生活中经常会碰到的业务场景,比方说12306抢票、淘宝京东秒杀以及买电影票等,这里就讲一讲如何去设计以及实现秒杀这一业务。一、数据库表设计秒杀业务中通常会涉及到两个表,一个是商品表,另一个是订单表。电影票表设计电影票表数据订单表设
保证RabbitMQ消息的可靠性总结 文章目录一、关于消息的可靠性二、生产者发送消息对象三、将消息发送给交换机四、将消息发送给队列五、将消息发送给消费者六、保证消息的幂等性七、死信消息的补偿一、关于消息的可靠性首先,如上图,关于消息的可靠性,无非就是要保证这三个关键:保证生产者发送的消息一定能发送到交换机在消息队列中,交换机的消息一定能够发送给路由保证消息一定能够从队列发送到消费者,且消费者一定能够消费成功二、生产者发送消息对象首先创建接收消息的交换机并绑定一个队列:@Configurationpublic clas
Redis基础及常用命令 文章目录一、redis 概述1.概念了解2.基本命令二、redis 的常用命令1.string(字符串)2.list(列表)3.set(集合)4.hash(哈希)5.zset(有序集合)一、redis 概述1.概念了解redis 默认有 16 个数据库,且默认使用的是第 0 个数据库,可以使用select命令切换数据库,使用flushdb清空当前数据库,使用flushall清空全部数据库。redis是单线程的(但是在 redis 6 引入了多线程 IO,但执行命令还是单线程),官方表示,redis
Java常见面试题整理 涉及内容:Java 基础、集合、多线程、反射、对象拷贝、Java Web、异常、网络、Spring/Spring MVC、Spring Boot/Spring Cloud、Mybatis、MySql、Redis、JVM
剑指 Offer 刷题总结 文章目录03. 数组中重复的数字04. 二维数组中的查找05. 替换空格06. 从尾到头打印链表10. 斐波拉契数列【青蛙跳台阶】11. 旋转数组的最小数字03. 数组中重复的数字题目描述:找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。 数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3 思路:认真看题目
JavaScript详解(JS总结) 文章目录一、概念二、ES(ECMAScript)1. 与 HTML 结合方式2. 注释3. 数据类型4. 变量5. 运算符6. 流程控制语句三、ES 基本对象1. Function:函数(方法)对象2. Array:数组对象3. Date:日期对象4. Math:数学对象5. RegExp:正则表达式对象6. Global:全局对象7.原始数据类型包装类对象四、BOM1. 概念2. 组成3. Window:窗口对象4. Location:地址栏对象5. History:历史记录对象五、Dom1. 概念2.
MySQL常用命令详解(MySQL总结) 一、SQL1. 什么是SQL?2. SQL通用语法3. SQL分类二、DDL:操作数据库、表1. 操作数据库(CRUD)1. C(Create):创建2. R(Retrieve):查询3. U(Update):修改4. D(Delete):删除5. 使用数据库2. 操作表(CRUD)1. MySQL常用数据类型2. C(Create):创建3. R(Retrieve):查询4. U(Update):修改5. D(Delete):删除三、DML:增删改表中的数据1. 添加数
分治算法解决汉诺塔问题【Java实现】 分治算法是将一个复杂的问题分成两个或多个相同或相似的子问题,再把子问题分解为更小的子问题,直到最后子问题可以简单地直接求解,原问题即子问题的解的合并。基本步骤:1.分解: 将原问题分解为若干个规模较小、相互独立 且与原问题形式相同的子问题2.解决 如果子问题规模较小能够直接解决则直接解,否则递归地解决各个子问题3.合并 将各个子问题的解合并为原问题的解二、汉诺塔问题三层汉诺塔解决图示:思路:1.如果只有一个盘,则直接将盘 A