# partner-match **Repository Path**: Ge-JY/partner-match ## Basic Information - **Project Name**: partner-match - **Description**: 伙伴匹配系统项目后台(程序员鱼皮编程导航项目) - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-02-10 - **Last Updated**: 2025-02-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README + 需求分析 + 用户添加标签,标签分类 + 主动搜索:允许用户根据标签搜索其他用户 + redis 缓存 + 组队 + 创建队伍 + 加入队伍 + 根据标签查询队伍 + 邀请其他人 + 允许用户修改标签 + 推荐 + 相似度计算算法 + 本地分布式计算 项目问题记录: 1. 标签查询接口的模糊查询处理方式 + 拼接多个模糊查询sql语句,在数据库中进行数据过滤 + 查询全量数据,在内存中进行数据过滤 + 在不同数据量、不同参数个数的情况下,可以两种方案的性能对比 + 优化思路:并发过滤查询;参数可分析时,按照不同参数情况选择不同方案;参数不可分析时,可并发执行两种方案,获取先返回的结果数据 2. 接口文档: + 可以在项目代码中,基于swagger等框架自动生成,也可以通过apifox、postman等工具进行接口管理 + 使用swagger时,可以使用框架自带的ui界面,也可以直接引入knife4j,ui界面更友好 + 整合swagger框架时需要注意,swagger使用的url匹配策略为ANT_PATH_MATCHER,SpringBoot 2.6.x 以前的版本默认使用ANT_PATH_MATCHER,2.6.x 以后的版本默认使用PATH_PATTERN_PARSER,使用默认配置会导致项目启动报错,需要在配置文件中添加`spring.mvc.pathmatch.matching-strategy=ant_path_matcher` 3. session 共享 + 为什么要做session共享:后端服务采用分布式部署,用户在一台服务器登录,在请求另一台服务器时需要识别用户身份 + 可以用文件服务器(ceph)、redis、关系数据库等进行共享存储 + 也可以使用token存储在浏览器里,但要注意token签发的有效期和安全性 + 引入`spring-session`,与redis整合,可以将session自动存入redis中