- 博客(11)
- 收藏
- 关注
原创 大文件分片上传
2.上传之前调用预上传接口(/largeFile/preHandle),获取本次文件处理的taskid(taskId),以上ID用以标记同一个大文件的不同小文件,和追踪整个上传任务。4.分片文件全部上传完成之后,调用合并分片接口(/largeFile/merge),完成操作。3.并行上传各个文件分片,调用上传文件接口(/largeFile/uploadChunk)如标题所说,大文件分片上传,大文件上传可以使用分片的解决办法。上面代码提供了一个文件上传的按钮,具体操作过程如下。2.创建分片上传任务。
2025-03-14 13:33:30
277
原创 使用读写锁控制管理oauth2的accesstoken
或者就是存储到数据库,然后通过一些逻辑来重新获取,以上方案确实可以实现,但是,至少我接触过的所有oauth2的token,并非一定要引入一个redis这样的组件,或者为此创建一张表来如此的麻烦。正常情况下,oauth2的客户端模式,会为客户端创建一个带有过期时间的accesstoken,另外的,访问资源服务器,也会给出正常的提示,比如当使用一个无效的token访问资源时,则返回status 401或者在body中返回带401的code。我开源了另一个oauth2的项目,giett地址。
2025-01-03 14:13:43
919
原创 ReentrantLock可重入锁实现指定粒度的锁控制
单体服务,该机制建立在单体服务的基础上实现的,如果是分布式服务,建议使用分布式锁。项目问题如下:积分兑换奖品,奖品有库存和兑换限制,每日奖品限量,且每家庭每个奖品只能兑换一次。如果在方法使用synchronized关键字,则所有奖品兑换都会变成串行,导致兑换逻辑排队,在并发兑换时严重影响用户体验。解决思路:使用ReentrantLock可重入锁来更加灵活的控制加锁粒度。新的问题:如果直接在逻辑中创建一个新的ReentrantLock并且尝试获取锁,无法指定锁对应的奖品类目,进而无法控制库存。
2025-01-03 13:19:38
383
原创 SaSS版本的短链服务平台
项目优势概述:项目部署简单,开箱即用,项目数据分表设计,根据过往单表存储经验,系统整体支持数十亿短链存储,代码架构简单清晰,支持二次开发来满足不同场景。短链访问提供基于ehcache的缓存机制,并发性能高,加上项目支持水平拓展,轻松达到数万QPS。之前提供了一个简单版本的短链服务,适合部署给内网的服务使用,项目地址。后面又做了一个支持Sass版本的平台,
2025-01-02 14:39:29
230
原创 spring项目中通过xml配置缓存(cache)记录贴
配置一个spring默认实现的缓存(cache)<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cache="
2018-07-03 16:47:22
4191
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人