黑马点评实战篇千字总结

一.达人探店

1.发布探店笔记,查看探店笔记

包括发布探店笔记,查看探店笔记,电赞功能,点赞排行榜

发布探店笔记,查看探店笔记均为简单增删改查操作。

2.点赞功能

实现点赞功能,有两个需求,一个是用户能查看自己是否点赞,第二个是如果点赞第二次点击就是取消点赞,第三个是博主应该知道谁点赞了,这里就涉及点赞用户的查询。如果未点赞那么点击就是实现点赞。这里涉及到了如何判断自己是否点赞,很简单,如果点赞就在前端页面将点赞图标变亮就可。

第一步是一个简单查询的操作。

第二个也是简单操作数据库即可。

第三步我们应该思考如何进行储存点赞用户,不重复,很简单的就想到了set数据结构。然后key为博客id,value为点赞用户,实现非常简单。

3.点赞排行榜

实现点赞排行榜,我们首先知道点赞用户有谁,然后根据点赞用户点赞时间进行排序。

首先我们要想到一个问题如何存储点赞用户,存储需要满足用户的唯一性,有序性。

这里我们想到了zset有序集合,和我们上面使用的集合冲突了,直接修改上面的集合为zset集合即可。

然后我们思考,我们如何排序,将score设置为时间戳即可。

我们这里可以展示前五个用户。

那么我们如何展示前五个用户呢?

这里就涉及了点赞用户的查询。

zset如何查询用户呢?

zset中并没有ifmemeber之类的命令,我们可以通过score去查询即可。

二.好友关注

1.关注和取关

我们首先思考需求。

当我们处于未关注状态时,前端页面显示关注按钮,我们点击关注即关注成功,然后前端将关注按钮转变为未关注按钮。

根据这个需求,我们可以转换出两个逻辑

第一个逻辑是查询关注状态

第二个逻辑是修改关注关注状态。

简单的增删改查操作

2.共同关注

如何实现共同关注?

首先我们想到了set集合的一个特性,可以取交集。

那么我们现在围绕这个特性进行思维展开。

我们在取关和关注时可以将关注者和被关注着以set集合形式存入redis中,然后直接两个集合二取交集即可。

相关推荐
悟天特斯32 分钟前
安防一体化:从“各管各的“到“全局联动“
java·大数据·网络·人工智能·物联网
70后写java的老码农42 分钟前
Spring Boot 3.x + ShardingSphere 5.x + MyBatis-Plus 3.x:订单分库分表实战(含两个踩坑记录)
java
德迅云安全-上官44 分钟前
德迅游戏盾:面向 TCP 业务的分布式云安全防护方案
分布式·tcp/ip·游戏
霸道流氓气质1 小时前
AI 翻译插件:翻译记忆级联复用、术语混合检索与结构化质量门禁的 Vue3 + Spring AI 生产级实战
java·人工智能·spring
斯维赤1 小时前
OCR到底是接入第三方API 还是自己封装?
java·ocr
码智社1 小时前
Redis 哨兵模式详解:从原理到生产实践
java·redis
救救孩子把1 小时前
结构化输出为何“格式正确、答案错误”?JSON Schema 的能力边界
android·java·json·agent·agent服务
silvamux_2 小时前
微头条爆款体平台适配实测:把交付要求变成可计算的指标
java·线性代数·算法·决策树·矩阵
论文复现现场2 小时前
DeepSeek V4.1 Flash 和 V4 Pro 有什么区别?API 价格、性能与迁移建议
java·服务器·人工智能·python·大模型api·deepseek·deepseek v4.1
郭小李2 小时前
转发与重定向
java·服务器·数据库