古月怀远

学生
苏州大学 · 1年经验
古月怀远
日薪: ¥500/8h
地点: 苏州 全区
时间: 可工作日驻场(自由职业原因)
ID:387587 复制

0
接单数
0
评价数
0
收藏数

AI 技能提取 | MyBatis Spring Boot Spring MyBatis-Plus Java MySQL Redis Vue JavaScript JMeter HTML CSS Git
计算机基础:掌握数据结构、操作系统,理解计算机网络、Java设计模式,软件工程等
相关知识·JAVASE:理解并熟悉语法、常用类底层以及Stream流、函数式编程、方法引用等高级写法。
数据库:理解并熟悉MySQL、Redis的使用及原理。
框架:掌握Spring、SpringMVC、MyBatis、MyBatis-Plus、SpringBoot等主流框架的使用。
工具:熟悉Git、PostMan、Jmeter等工具的使用。前端:掌握HTML、CSS、JavaScript的原理及使用,熟悉Vue

《品味生活》点评社交类项目(项目职责:后端接口设计、接口测试、压力测试)
·技术栈:Redis+SpringBoot+MyBatis-Plus + MySql + Vue
。项目简介:基于 Redis 数据结构实现短信验证登录、异步秒杀、点赞热榜、关注推送、附近商铺、用户签到等
·主要问题及解决方案:
1.Session 共享问题:登陆验证时验证码存储在 Session 中,集群模式下会出现共享问题
使用 Redis 存验证码,改用随机 token 作为key并设置TTL为15min,用户每次过期前的操作都会刷新 TTL
2.token 刷新问题:已登录用户访问拦截器不拦截的页面(如首页)时 token 不会被刷新,TTL过期后用户被强制下线
搭建拦截器链:原拦截器前再加一个拦截器,放行所有路径并刷新 token,原拦截器只判断 ThreadLocal 中是否有用F
3.缓存更新问题:Redis 缓存与 MySQL 数据库存在双写一致性问题
更改缓存更新策略:对于店铺详情缓存这样的高一致性需求,使用主动更新 CacheAside +超时剔除;对于店铺类型缓存
这样的低一致性需求,使用内存淘汰4.秒杀超卖问题:对秒杀业务进行Jmeter 测试,200个线程抢购100个券,异常率不足50%,出现超卖情况对于数据库的操作,使用改进的 CAS 锁进行优化5.Spring 事务失效:Redisson 实现集群模式下的一人一单时,目标对象调用了进行数据库操作的事务方法使用 AopContext 将目标对象转化为 Spring 代理对象,再去调用被单独抽取出来做数据库操作的事务方法6.秒杀业务性能过低:同步思想实现秒杀业务性能太低使用异步思想:使用 Lua 脚本实现用户秒杀资格判断,将下单信息保存在 stream 结构的消息队列中,异步多线程实现减
库存、加订单的数据库操作,使用分布式锁防止线程安全问题
古月怀远 ID:387587 复制

古月怀远

学生 · 1年经验 · 苏州大学
城市苏州 全区 日薪500元/8h 时间 可工作日驻场(自由职业原因)
0
累计接单
0
用户评价
0
被收藏

信用行为

0
接单数
0
评价数
0
收藏数

技术能力

AI 技能提取 | MyBatis Spring Boot Spring MyBatis-Plus Java MySQL Redis Vue JavaScript JMeter HTML CSS Git
计算机基础:掌握数据结构、操作系统,理解计算机网络、Java设计模式,软件工程等
相关知识·JAVASE:理解并熟悉语法、常用类底层以及Stream流、函数式编程、方法引用等高级写法。
数据库:理解并熟悉MySQL、Redis的使用及原理。
框架:掌握Spring、SpringMVC、MyBatis、MyBatis-Plus、SpringBoot等主流框架的使用。
工具:熟悉Git、PostMan、Jmeter等工具的使用。前端:掌握HTML、CSS、JavaScript的原理及使用,熟悉Vue

项目经验

《品味生活》点评社交类项目(项目职责:后端接口设计、接口测试、压力测试)
·技术栈:Redis+SpringBoot+MyBatis-Plus + MySql + Vue
。项目简介:基于 Redis 数据结构实现短信验证登录、异步秒杀、点赞热榜、关注推送、附近商铺、用户签到等
·主要问题及解决方案:
1.Session 共享问题:登陆验证时验证码存储在 Session 中,集群模式下会出现共享问题
使用 Redis 存验证码,改用随机 token 作为key并设置TTL为15min,用户每次过期前的操作都会刷新 TTL
2.token 刷新问题:已登录用户访问拦截器不拦截的页面(如首页)时 token 不会被刷新,TTL过期后用户被强制下线
搭建拦截器链:原拦截器前再加一个拦截器,放行所有路径并刷新 token,原拦截器只判断 ThreadLocal 中是否有用F
3.缓存更新问题:Redis 缓存与 MySQL 数据库存在双写一致性问题
更改缓存更新策略:对于店铺详情缓存这样的高一致性需求,使用主动更新 CacheAside +超时剔除;对于店铺类型缓存
这样的低一致性需求,使用内存淘汰4.秒杀超卖问题:对秒杀业务进行Jmeter 测试,200个线程抢购100个券,异常率不足50%,出现超卖情况对于数据库的操作,使用改进的 CAS 锁进行优化5.Spring 事务失效:Redisson 实现集群模式下的一人一单时,目标对象调用了进行数据库操作的事务方法使用 AopContext 将目标对象转化为 Spring 代理对象,再去调用被单独抽取出来做数据库操作的事务方法6.秒杀业务性能过低:同步思想实现秒杀业务性能太低使用异步思想:使用 Lua 脚本实现用户秒杀资格判断,将下单信息保存在 stream 结构的消息队列中,异步多线程实现减
库存、加订单的数据库操作,使用分布式锁防止线程安全问题
客服二维码

没找到合适的人才?

扫码添加客服极速匹配,或直接发布需求让更多人才主动报名

平台担保交易 · 1小时内不满意可退款

平台信誉与实力

基于 35,336 需求方信任

  • ✓ 支付宝企业信用分 优秀 评级
  • ✓ 市场份额约占全行业三分之一
  • ✓ 程序员兼职行业全能首选平台
查看平台资质详情
收藏