- 博客(9)
- 收藏
- 关注
原创 天机学堂-优惠券并发优化总结
最后的解决方案就是超卖时使用乐观锁,个人限领时使用Redisson悲观锁,但是利用AOP切面减少对业务的侵入。最后的解决方案就是超卖时使用乐观锁,个人限领时使用Redisson悲观锁,但是利用AOP切面减少对业务的侵入。(后面还有一个异步领券,用redis和mq,但是我感觉优化得不太好,有点乱,不打算使用。除非问到问题,问加锁了性能不好,怎么优化,可以回答用mq异步领券,优惠券关键信息存redis中,多次与redis交互也建议使用lua脚本。
2025-08-22 18:47:22
964
原创 天机学堂day8个人总结
再写一个定时任务,查询到redis中上个赛季的数据,然后持久化到第一步创建的表中,这里由于每次创建的表名都不一样,所以用到一个mybatis plus的插件动态表名,在进行数据库操作的时候,可以拦截并且更改表名,这里又由于需要多次操作数据库,每次都查询赛季id并传数据库表名并不现实,所以用一个threadlocal来实现,把数据库表名存进去,动态表名的时候去里面取,最后清除即可。分表有水平和垂直,这里水平就是一个表分为多个,每个表数据不同,这里用的就是每个赛季一个表,方便存储与查询。
2025-08-20 21:35:05
349
原创 天机学堂day6个人总结
点赞系统点赞或取消点赞:先判断是点赞还是取消点赞,还需要判断是否点过赞,如果是点赞则新增一条点赞记录,取消则删除点赞记录,然后发送mq通知,利用mq异步更新业务的点赞总数。批量查询点赞状态:提供给其他微服务调用的接口,传入业务id的list,返回该用户点过赞的业务id的list利用redis,set集合利用业务id作key,集合中存储为该业务点赞的用户id;zset集合先利用业务类型进行区分,然后存储每个业务id对应的总点赞数。流程更改为:提交点赞信息后,根据点赞还是取消点赞去redis中新增或删除点赞数据
2025-08-19 20:41:10
267
原创 动态规划问题练习
是否可获得,为1即可获得,为0即不可,初始时 dp[0]=1,之后对rewardValues进行遍历,令当前值为 x,那么对于 k∈[x,2x−1](将 k 倒序枚举),将 dp[k] 更新,表示先前的操作可以获得总奖励 k−x,那么加上 x 后,就可以获取总奖励 k。最后返回 dp 中可以获得的最大总奖励。使用dp,假设数组rewardValues最大值为m,最后一次操作前总奖励一定不大于m,那么最后最大总奖励会小于等于2*m-1,首先对数组rewardValues进行排序,dp[k] 表示总奖励。
2024-12-05 10:46:35
400
原创 github上好用的开源项目!
项目地址:https://github.com/tw93/Pake使用 Rust 轻松将任何网页变成桌面应用程序,现在已经 33k 的 Star。这个开业项目支持 Mac、Windows 和 Linux。只需要几行代码就可以将网页打包成一个app。
2024-12-05 10:40:29
966
原创 动态规划题目:递增子序列
小明最近对数列特别感兴趣,尤其想研究一个数列中有多少个长度为k的递增子序列。一个序列的子序列定义为,其中1≤i≤i≤n。如果a
2024-06-27 17:05:25
536
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅