电商当项目经验已经非常普遍了,不管你是包装的还是真实的,起码要能讲清楚电商中常见的问题,比如库存的操作怎么防止商品被超卖 解决方案 分析 基于数据库单库存 基于数据库多库存 基于redis 基于redis实现扣减库存的具体实现 初始化库存回调函数(IStockCallback) 扣减库存服务(StockService) 调用 在日常开发中有很多地方都有类似扣减库存的操作,比如电商系统中的商品库存,抽奖系统中的奖品库存等。 解决方案 使用mysql数据库,使用一个字段来存储库存,每次扣减库存去更新这个字段。 还是使用…

2022-09-26 0条评论 516点热度 0人点赞 admin 阅读全文

简介 布隆过滤器(BloomFilter)是一种用于判断元素是否存在的方式,它的空间成本非常小,速度也很快。 但是由于它是基于概率的,因此它存在一定的误判率,它的Contains()操作如果返回true只是表示元素可能存在集合内,返回false则表示元素一定不存在集合内。因此适合用于能够容忍一定误判元素存在集合内的场景,比如缓存。 它一秒能够进行上百万次操作(主要取决于哈希函数的速度),并且1亿数据在误判率1%的情况下,只需要114MB内存。 原理 数据结构 布隆过滤器的数据结构是一个位向量,也就是一个由0、1所组…

2022-09-25 0条评论 530点热度 0人点赞 admin 阅读全文

要在网页上显示类似O2(氧气)、m2(立方米)这样带上下标的。 先上示例代码,再解释: O<span style="vertical-align: sub;">2</span> m<span style="vertical-align: super;">2</span> 在css中,可以使用vertical-align 属性的sub、super或者text-top、text-bottom属性值来显示文字的上标和下标。下面我们就来介绍一下css vertical-ali…

2022-09-23 0条评论 855点热度 0人点赞 admin 阅读全文

接口java.util.concurrent.ExecutorService 表述了异步执行的机制,并且可以让任务在后台执行。ExecutorService 的实现就是一个线程池的实现。 一、ExecutorService 示例代码 下面是使用Java 实现的ExecutorService 示例代码: import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class ExecutorSer…

2022-09-20 0条评论 605点热度 0人点赞 admin 阅读全文

MySQL字符串截取,需要用到substr(等价于或者) SUBSTR(string, start, length) substring(string, start, length) mid(string, start, length) 或者: SUBSTR(string FROM start FOR length) substring(string FROM start FOR length) mid(string FROM start FOR length) 参数说明 参数 说明 string 必填。需要处理的…

2022-09-19 0条评论 551点热度 0人点赞 admin 阅读全文

需要做一个简单的订单号生成规则,并发量不是特别高,从订单号上不要体现出订单的真实数量(例如自增长的ID就会暴露订单数量给用户看到) 示例我是写的订单号生成器,生成类似这样子的的16位订单号。 /** * @author Terry E-mail: yaoxinghuo at 126 dot com * @date 2022/3/4 22:57 * @description */ public class OrderUtils { private static int serial = 0; // 序列号倒数5位的前…

2022-09-18 0条评论 754点热度 0人点赞 admin 阅读全文

分布式 id 生成器 在分布式场景中,唯一 id 的生成算比较重要。 而通常在高并发场景中,需要类似 MySQL 自增 id 一样不断增长且又不会重复的 id,即 MySql 的主键 id。 比如,在电商 618 或者双 11 搞活动的时候,一般在 0 点 开始,会有千万到亿级的订单量写入,每秒大概需要处理 10 万加的订单。 而在将订单插入数据库之前,我们在业务上需要给订单一个唯一的 id,即利用 idMaker 生存唯一的订单号,再插入数据库内。如果生成的 id 是随机且没有含义的纯数字的话,在大订单量的情况下…

2022-09-14 0条评论 718点热度 0人点赞 admin 阅读全文

现在Java下的时间日期有Date、LocalDateTime、LocalDate、Instant等多种,在thymeleaf中格式化成我们能看懂的日期,都是可以的。 例如有以下几种(Java代码): ontext context = new Context(); context.setVariable("standardDate", new Date()); context.setVariable("localDateTime", LocalDateTime.now()); context.setVariable…

2022-09-12 0条评论 871点热度 0人点赞 admin 阅读全文

需要在JS代码中打开新的页面,且需要在浏览器的新标签页面中打开 一般使用一下代码打开新页面 window.location.href='https://www.baidu.com'; window.open('https://www.baidu.com'); 不过并不是在新标签页中打开的,可以这样做: window.open('https://www.baidu.com', '_blank'); 另一种方式: function openInNewTab(url) { Object.assign(document.c…

2022-09-11 0条评论 778点热度 0人点赞 admin 阅读全文

在vue2.x下需要展示pdf,详见:https://blog.terrynow.com/2022/09/06/vue2-show-pdf-paging-http-header-with-token-pinch-zooom/ 不过在依赖添加了 后,有一个报错: vue-resize-sensor Cannot read properties of undefined (reading 'catch') 使用指定版本的pdfjs-dist和vue-pdf即可解决,如下: npm i [email protected]

2022-09-10 0条评论 686点热度 0人点赞 admin 阅读全文
1131415161756