这是一个伙伴匹配系统,项目主要的功能就是让更多的用户可以找到与自己志同道合的伙伴。
- 前端:
- Vue3 + Vant4 + pinia + Vue-Router等前端主流技术
- 后端:
- SpringBoot2 + MyBatis Plus + Redis + Knife4j
- 设计了用户信息表、标签表、用户标签关联表等,以支持高效的标签匹配和伙伴搜索功能。
- 对频繁查询的数据字段设置索引,提高查询速度。
- 提供开放的 API 接口,支持伙伴搜索、标签管理等功能。采用基于 JWT 的身份认证,保障数据安全。
- 数据传输采用 HTTPS 协议,确保用户隐私信息在网络传输中的安全性。
介绍系统中对外开放的 API 接口,接口调用方式、参数说明、认证机制、响应格式等。
为提高用户体验和系统性能,采取了以下优化措施:
- Redis 缓存与分布式锁:
- 缓存预热:对热门数据进行缓存预热,避免缓存穿透问题,减少数据库的直接访问压力。
- 分布式锁:使用 Redis 分布式锁来防止高并发情况下的重复匹配请求,保证数据的一致性。
- 智能匹配算法:
- 编辑距离算法(Levenshtein Distance):在用户标签匹配上引入了编辑距离算法,使系统能够根据标签的相似度为用户推荐更精准的伙伴。通过动态计算标签间的编辑距离,可以识别出较为接近的兴趣标签,从而为用户提供更高质量的匹配结果。
- 异步与延迟加载:
- 针对后台定时任务、批量操作等耗时任务,使用异步处理,避免阻塞用户请求。
- 针对用户首次访问的数据,采用延迟加载的策略,减少前端页面加载时间。
yarn install
yarn dev
采用 详解编辑距离算法-Levenshtein Distance