随笔分类 -  97-技术讨论交流

摘要:1.前言 现在的系统,对于权限来说,都是非常重要的,不同的用户看到的功能不一样,拥有的操作权限也不同。这些都可视为是动态的,那么就不能在代码中固定某些权限,而是需要通过设计动态权限来实现。 目前常用的模型有两种: 1)RBAC模型 基于角色的访问控制(Role-Based Access Contro 阅读全文
posted @ 2024-08-20 10:32 钟小嘿 阅读(147) 评论(0) 推荐(0) 编辑
摘要:什么是ThreadLocal 呢? ThreadLocal叫做线程变量,是指ThreadLocal中填充的变量属于当前线程,该变量对其他线程而言是隔离的。特点是ThreadLocal为变量在每个线程中都创建了一个副本,每个线程只可访问自己内部的副本变量,不存在多线程数据共享问题。ThreadLoca 阅读全文
posted @ 2022-08-03 09:33 钟小嘿 阅读(72) 评论(0) 推荐(0) 编辑
摘要:1.前言 分布式id的来源主要是针对分布式的整体应用,在每秒可成品千万级别的数据。对于这样的大批量数据,必定需要分库分表,那么针对常用的自增主键(MySQL)或序列增长(Oracle),同一业务的分表,会存在相同的主键,对于数据处理来说,会显得异常麻烦。那就必须采用更有效的方式来解决这种问题,实现I 阅读全文
posted @ 2022-07-17 10:44 钟小嘿 阅读(427) 评论(0) 推荐(0) 编辑
摘要:很多时候都能看到,当下了订单后10分钟或30分钟未支付,订单会自动取消,具体是如何实现的呢? 本文使用最常用的几种方式,只说明关键的部分,已30分钟为例。 1.借助redis的过期特性 逻辑: 下单时,订单状态是待支付。将订单编号作为key,下单的时间戳作为value,设置过期时间是30分钟。服务器 阅读全文
posted @ 2022-07-10 14:39 钟小嘿 阅读(1370) 评论(0) 推荐(1) 编辑
摘要:1.订单与支付 1.1问题背景 假如有一个快递下单系统,在寄快递时,客户下单并支付费用,支付后会生成验货码用于商家扫描入库,其支付和退款流程如下: 支付:创建业务订单 > 创建支付订单 > 唤起支付收银台 > 输入密码 > 进入支付回调处理 > 更改支付状态及业务状态 退款:创建退款订单 > 发起退 阅读全文
posted @ 2022-07-06 19:39 钟小嘿 阅读(65) 评论(0) 推荐(0) 编辑
摘要:1.前言 在项目中,有些接口是无需安全验证即可访问。既然直接暴露出来,就意味着不安全,就会面临恶意访问,盗刷流量等问题。面对恶意访问,往往是通过程序对接口发送大量请求,轻者接口响应缓慢,重者造成服务器宕机,使得服务不能正常使用。 最常见的就是发送短信验证码,在用户注册时可发送短信验证码验证,在登录时 阅读全文
posted @ 2022-07-03 14:55 钟小嘿 阅读(831) 评论(0) 推荐(0) 编辑
摘要:当你看到这个问题时,你会给出什么答案? 先说结论:两者没有区别,它们存储的长度是一样的。 1)先创建一个表:包含两个4个字段用于测试 create table user( id int(8) not null, id2 int(8) zerofill not null , type int(1) n 阅读全文
posted @ 2022-04-23 20:45 钟小嘿 阅读(851) 评论(0) 推荐(0) 编辑
摘要:当你在代码中看到Thread.Sleep(0)时,你会觉得是bug吗? 如果你这样想,那不如先看下面两个问题,它们的答案又是什么? 1)代码中使用Thread.Sleep(0)和不使用Thread.Sleep(0)有区别吗? 2)若现在时间是2022-03-01 00:00:00,执行Thread. 阅读全文
posted @ 2022-04-17 15:39 钟小嘿 阅读(187) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示