上一页 1 2 3 4 5 6 7 8 9 ··· 32 下一页
摘要: 1.合理拆分目录结构 很多人受传统MVC模式影响,只要新建项目,就是controller、service、dao、mapper、entity库库建包, 若是小项目,业务不多,倒也说的过去,但若项目很大,那么就如同controller包下就会有上百个类,很难区分所属的业务,对于后期的维护也是比较困难, 阅读全文
posted @ 2022-10-10 10:31 钟小嘿 阅读(163) 评论(0) 推荐(0)
摘要: 什么是ThreadLocal 呢? ThreadLocal叫做线程变量,是指ThreadLocal中填充的变量属于当前线程,该变量对其他线程而言是隔离的。特点是ThreadLocal为变量在每个线程中都创建了一个副本,每个线程只可访问自己内部的副本变量,不存在多线程数据共享问题。ThreadLoca 阅读全文
posted @ 2022-08-03 09:33 钟小嘿 阅读(87) 评论(0) 推荐(0)
摘要: 1.前言 分布式id的来源主要是针对分布式的整体应用,在每秒可成品千万级别的数据。对于这样的大批量数据,必定需要分库分表,那么针对常用的自增主键(MySQL)或序列增长(Oracle),同一业务的分表,会存在相同的主键,对于数据处理来说,会显得异常麻烦。那就必须采用更有效的方式来解决这种问题,实现I 阅读全文
posted @ 2022-07-17 10:44 钟小嘿 阅读(507) 评论(0) 推荐(0)
摘要: 很多时候都能看到,当下了订单后10分钟或30分钟未支付,订单会自动取消,具体是如何实现的呢? 本文使用最常用的几种方式,只说明关键的部分,已30分钟为例。 1.借助redis的过期特性 逻辑: 下单时,订单状态是待支付。将订单编号作为key,下单的时间戳作为value,设置过期时间是30分钟。服务器 阅读全文
posted @ 2022-07-10 14:39 钟小嘿 阅读(1478) 评论(0) 推荐(1)
摘要: 1.订单与支付 1.1问题背景 假如有一个快递下单系统,在寄快递时,客户下单并支付费用,支付后会生成验货码用于商家扫描入库,其支付和退款流程如下: 支付:创建业务订单 > 创建支付订单 > 唤起支付收银台 > 输入密码 > 进入支付回调处理 > 更改支付状态及业务状态 退款:创建退款订单 > 发起退 阅读全文
posted @ 2022-07-06 19:39 钟小嘿 阅读(95) 评论(0) 推荐(0)
摘要: 1.前言 在项目中,有些接口是无需安全验证即可访问。既然直接暴露出来,就意味着不安全,就会面临恶意访问,盗刷流量等问题。面对恶意访问,往往是通过程序对接口发送大量请求,轻者接口响应缓慢,重者造成服务器宕机,使得服务不能正常使用。 最常见的就是发送短信验证码,在用户注册时可发送短信验证码验证,在登录时 阅读全文
posted @ 2022-07-03 14:55 钟小嘿 阅读(881) 评论(0) 推荐(0)
摘要: 1.前言 Redisson是Redis官方推荐的Java版的Redis客户端。底层使用netty框架,并提供了与java对象相对应的分布式对象、分布式集合、分布式锁和同步器、分布式服务等一系列的Redisson的分布式对象。 2.使用准备 1)导入依赖 <dependency> <groupId>o 阅读全文
posted @ 2022-06-26 16:58 钟小嘿 阅读(2808) 评论(0) 推荐(0)
摘要: 在使用redis作为缓存时,为提供查询数据和效率,优化也是必不可少的。 1.强化开发规范 1)不使用bigkey:即key对应的value的值不能太大。对于String类型,value超过10KB即为bigkey;对于非字符串类型,其元素超过5000个即为bigkey。 2)key命名优化:所有的k 阅读全文
posted @ 2022-06-24 10:56 钟小嘿 阅读(419) 评论(0) 推荐(0)
摘要: 1.前言 redis作为一种非关系性数据库,常用来做缓存,不妨来了解下其key的过期策略。 过期字典:reids将所有过期的键值都放在一个字典中,而这个字典就叫做过期字典。 键空间:服务器中的每个数据库都由一个redis.h/redisDb结构表示,其中redisDb结构的dict字典保存了数据库中 阅读全文
posted @ 2022-06-22 17:05 钟小嘿 阅读(487) 评论(0) 推荐(0)
摘要: 在实际的生活中,对于敏感数据,都不会轻易展示出来。如在诸多应用中,手机号中间4位是*号,身份证号中出生信息是*号,那么这些数据都是在后端经过加密后返回给前端的。 1.手机号对中间4位加密 phone.replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2"); 阅读全文
posted @ 2022-06-13 19:00 钟小嘿 阅读(2098) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 9 ··· 32 下一页