微服务Spring Boot 整合 Redis 实现 好友关注
⛅引言
本博文参考 黑马 程序员B站 Redis课程系列
一、Redis 实现好友关注 – 关注与取消关注
具体实现思路:基于该表数据结构,实现2个接口
tb_follow
CREATE TABLE `tb_follow` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 主键, `user_id` bigint(20) unsigned NOT NULL COMMENT 用户id, `follow_user_id` bigint(20) unsigned NOT NULL COMMENT 关联的用户id, `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间, PRIMARY KEY (`id`) USING BTREE ) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT;
id为自增长,简化开发
核心代码
FollowController
FollowService
代码编写完毕,进行测试
代码测试
测试成功
二、Redis 实现好友关注 – 共同关注功能
核心代码如下
UserController
// UserController 根据id查询用户
@GetMapping("/{id}")
public Result queryUserById(@PathVariable("id") Long userId){
// 查询详情
User user = userService.getById(userId);
if (user == null) {
return Result.ok();
}
UserDTO userDTO = BeanUtil.copyProperties(user, UserDTO.class);
// 返回
return Result.ok(userDTO);
}
BlogController
@GetMapping("/of/user")
public Result queryBlogByUserId(
@RequestParam(value = "current", defaultValue = "1") Integer current,
@RequestParam("id") Long id) {
// 根据用户查询
Page<Blog> page = blogService.query()
.eq("user_id", id).page(new Page<>(current, SystemConstants.MAX_PAGE_SIZE));
// 获取当前页数据
List<Blog> records = page.getRecords();
return Result.ok(records);
}
改造核心代码:
FlowServiceImpl
进行测试
