项目名称:共享单车后台管理系统
技术栈:SpringBoot、MyBatis-Plus、MySQL、Redis、JWT
项目描述:该项目是针对共享单车app的后台功能进行模拟,由管理员、用户两个模块组成。管理员模块实现登录后,可以对相关站点的单车进行管理,同时可以查看用户的使用记录,用户端登录以后,可以设置常用的站点地址,并查看相关站点内单车的电量。
管理员模块:
1.登录:管理员通过账号和密码进行登录,然后将密码进行md5加密处理,登录成功之后调用jwt令牌工具类的方法生成token,并将token返回给前端,缓存在cookie。
2.设置拦截器:进行请求路径的过滤拦截,并获取token和解析token,用来判断当前的用户登录 状态。引入ThreadLocal,并设置商家和用户的id为ThreadLocal线程变量。
3.退出登录:清理缓存中的token。
4.管理员操作权限:对站点进行分类管理,完成站点内单车电量等信息的完善。
遇到的问题及优化方案:
缓存击穿的问题,由于大学城附近的单车站点用户量较大,如果当热点数据突然 失效了,就会集中的去访问数据库,这就会导致数据库的访问压力剧增。
解决方案:将热点数据设置为永不过期。
项目名称:抑云音乐
技术栈:SpringBoot、MyBatis-Plus、MySQL、Redis、JWT
项目描述:该项目对大学生常听的音乐进行收集管理,主要为管理员、用户模块。实现了管理员和用户的微信扫码登录,以及管理员模块对音乐的整合、增删、调试、创建新歌单、收费级别和管理员信息的修改的功能,用户模块实现了购买VIP等级用户、保存喜欢的音乐、增删下载的音乐列表以及修改用户个人信息
技术要点:
使用微信扫码登录,生成并校验state是否一致;
使用缓存预热的方式来保存热门音乐
使用JWT生成Token存入到redis,设置七天有效期,并设置了登录拦截器;