自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(2)
  • 收藏
  • 关注

原创 超发与超领问题

但是为了防止真的有其它线程修改数据,导致出现问题:利用CAS线程在每次修改之前先对原数据进行校验。总是认为数据会被其它线程做修改操作,为了避免其它线程的改数据影响自己,对数据加排它性、独占性锁。原因:整个流程里存储一系列的校验,校验通过之后才能领券,涉及了多次校验与数据库操作,这些操作不是原子性。认为其它线程很少会修改我的数据,所以我不需要加排它性的、独占性的锁,因为会影响性能。实现:对数据增加版本号,每次修改之前,先对比版本号,如果版本号不同,就说明被修改了。如果数据被其它线程修改了,就放弃操作。

2024-09-20 14:50:29 316 1

原创 兑换码算法

校验JWT令牌:A.B.C,我们取A+B+密钥,根据签名算法生成签名,拿这个签名和C部分对比。自增整数id:32bit,可以有21亿个正整数可用,能够满足我们的数据量大的要求,占用的空间也OK。后32bit自增id值,以4bit一组转换成十进制,与密钥做加权求和,结果作为签名。取后36bit,异或同一个大数字,然后取后32bit是自增值,高4bit是新鲜码。再根据自增id值的32bit,和找到的密钥做加权求和,得到签名。JWT的签名算法:A.B.C,其中A和B是承载的一些数据,C是用于校验的签名。

2024-09-20 14:49:19 542

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除