1. 用户登录:使用 Redis 实现分布式 Session,解决集群间登录态同步问题;并使用 Hash 代替 String 来存储用户信息,扩展了邮箱登录功能2. 对于项目中复杂的集合处理(比如为群聊列表关联已加入群聊的用户),使用Java8 Lambda 表达式来简化编码。Stream API和3. 使用 Easy Excel 读取收集来的基础用户信息,并通过自定义线程池 + CompletableFuture 并发编程提高批量导入数据库的性能,以及导出。4.使用 Redis 缓存首页高频访问的用户信息列表,且通过自定义 Redis序列化器来解决数据乱码、空间浪费的问题。5.为解决首次访问系统的用户主页加载过慢的问题,使用 Spring Scheduler定时任务来实现缓存预热,并通过分布式锁保证多机部署时定时任务不会重复执行6.为解决同一用户重复加入群聊、群聊人数超限的问题,使用 Redisson 分布式锁来实现操作互斥,保证了接口幂等性。7.使用编辑距离算法实现了根据标签匹配最相似用户的功能,并通过优先队列来减少 TOPN 运算过程中的内存占用。9.使用 Knife4j+ Swagger 自动生成后端接口文档,并通过编写 ApiOperation 等注解补充接口注释,避免了人工编写维护文档的麻烦。10.使用websocket完成实时聊天通信,使用Redis的List数据结构作为消息队列11.选用 MyBatis + MyBatis-Plus 进行数据访问层开发,复用大多数通用方法,并且通过继承定制了自己的通用操作模板,大幅提升了项目开发效率。为了明确接口的返回,自定义统一的错误码,并封装了 全局异常处理器,从而规范了异常返回、屏蔽了项目几余的报错细节声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!

下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
评论