在日常开发中有很多地方都有类似扣减库存的操作,比如电商系统中的商品库存,抽奖系统中的奖品库存等。解决方案使用 mysql 数据库,使用一个字段来存储库存,每次扣减库存去更新这个字段。还是使用数据库,但...
Redlock:Redis分布式锁最牛逼的实现
普通实现说道Redis分布式锁大部分人都会想到:setnx+lua,或者知道set key value px milliseconds nx。后一种方式的核心实现命令如下:- 获取锁(uni...
datetime和timestamp的区别
时间日期数据类型总概况MySQL中有多种表示时间日期的数据类型,主要有YEAR、TIME、DATE、DATETIME、TIMESTAMP等。每一种数据类型都有存储的时间日期格式、以及取值范围,因此在使...
Redis 如何实现库存扣减操作?如何防止商品被超卖?
在日常开发中有很多地方都有类似扣减库存的操作,比如电商系统中的商品库存,抽奖系统中的奖品库存等。解决方案使用mysql数据库,使用一个字段来存储库存,每次扣减库存去更新这个字段。还是使用数据库,但是将...
二叉树(Binary Tree)
1.概念①什么是二叉树?每个节点最多只有2个子节点的树,这两个节点分别是左子节点和右子节点。②什么是满二叉树?有一种二叉树,除了叶子节点外,每个节点都有左右两个子节点,这种二叉树叫做满二叉树。③什么是...
如何保证用户模块的数据安全?
写在前面在介绍具体方案之前,首先先介绍一下常见的加密算法。加密算法可以分为三大类:对称加密算法非对称加密算法Hash算法对称加密算法加密和解密使用相同的密钥。对称加密算法加密解密速度快,但安全性较差 ...
java多线程笔记
//当前电影票余量private static int currentTickets = 30; //加锁确保多线程场景下的线程安全 private static Lock loc...
你都理解创建线程池的参数吗?
后端进阶关注2019.04.11 09:44:27字数 1,688阅读 486微信公众号「后端进阶」,专注后端技术分享:Java、Golang、WEB框架、分布式中间件、服务治理等等。老司机倾囊相授,...
java多线程join()方法的作用和实现原理解析(应用场景)
更新时间:2021年07月05日 10:37:04 作者:java叶新东老师 join方法主要是用于将当前线程挂起,等待其他线程结束后在执行当前线程,本文通过应用...
MQ如何解决消息的顺序&重复两大硬伤?
分布式消息系统作为实现分布式系统可扩展、可伸缩性的关键组件,需要具有高吞吐量、高可用等特点。而谈到消息系统的设计,就回避不了两个问题:RocketMQ作为阿里开源的一款高性能、高吞吐量的消息中间件,它...