开源项目renren-fast 学习

 

前言

优化

异步方法

Redis缓存

后记

 

官网地址:https://www.renren.io/community/project

renren-fast | Java快速开发平台

  • 一个轻量级的Java快速开发平台,能快速开发项目并交付【接私活利器】
  • 完善的XSS防范及脚本过滤,彻底杜绝XSS攻击
  • 实现前后端分离,通过token进行数据交互
  • 实现管理员列表、角色管理、菜单管理、定时任务、参数管理、系统日志、文件上传(云存储)等功能

 

前言

公司以renren-fast3.0为基础,搭建自己的架构,总体上是使用spring data代替了mybatis、封装了部分工具类(引入hutoool能实现大部分)、vue升级、封装查询方法,模块拆分、让整个框架更易于开发。现在的情况是新项目进来,基本的业务模块不怎么需要写,特殊业务模块的增删查改继承BaseService,复制一份改一下就好了。看着这些代码,不禁想到我们都在搬砖,只是工地的砖更加烫手。

 

优化

我一直觉得这个框架设计的不错,前后端分离,各种功能都比较全,直到有一次偶然的面试,我才发现这个问题还是有的。埋着头一直搬,是没有什么长进的,还是要多看看别人怎么搬的。

异步方法

spring boot 本身具有异步注解,可以@EnableAsync开启,在方法上加上@Async实现异步。无论是接口日志、业务日志、其他方法都可以加上,常用于AOP。

Redis缓存

整个项目中缓存的使用是手机验证码、还有部分常量,减少访问时间。没有过多的考虑性能问题,在最开始的版本,接口访问带着token过来,会拦截一次,访问数据库是否存在、再查一次数据库访问是否拥有此权限。en,意思就是每次需要验证的接口会有两次查询操作。当然解决办法也很简单,token本身就具有时效性,将token存入redis中,省下一次查询,将用户的权限也存入redis,每次直接去redis中获取,又提升了性能了。随之带来的问题有两个:1、本身的数据是数据库中存的,因为有时候需要手动改掉,此时没有办法去更新已存的rediis中的数据,解决办法是:写一个接口去更新数据库数据和redis数据。 2、Redis缓存穿透、缓存雪崩、缓存击穿、安全性问题,redis安全性可以配置密码并且将yml中的明文密码加密。其他的我没有解决过,我参与过所有项目用户量不大,只能发个网上的链接、凑凑字数、忽悠一下大家。参考链接: https://my.oschina.net/u/3434392/blog/3012132

 

后记

随着业务的扩展、技术的发展,现在的框架已经不太能够满足现在的招标了。微服务的迅速开发架构正在搭建中,参考了开源项目PigX,后面针对性的分享一下。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值