您的足迹:首页 > Java技术篇 >如果由你来设计,你会如何实现朋友圈的功能?朋友圈的分页功能是如何实现的?

如果由你来设计,你会如何实现朋友圈的功能?朋友圈的分页功能是如何实现的?

public interface FreshNewsService {
 /*
 * 获取用户好友列表
 * (1)将每个用户的好友列表存储在set结构中
 * */
 public Set<String> getUserFriendList(int userId);
 /*
 * 发布新鲜事
 * (1)新鲜事存储到key-val结构中即可,key为新鲜事唯一ID(为了能看到自己发布的新鲜事,同时调用shareFreshNews)
 * (2)调用getUserFriendList获取好友列表
 * (3)遍历好友列表将新鲜事ID等信息插入到好友的新鲜事列表中,好友新鲜事列表使用zset结构val为新鲜事ID,score为时间戳(按时间倒序)
 * */
 public boolean shareFreshNews(User user, FreshNews freshNews);
 /*
 * 获取用户好友发布的新鲜事
 * (1)从好友新鲜事列表zset结构数据结构中获取数据,使用zrevrange(myUID,start,end)获取分页新鲜事ID
 * (2)根据新鲜事ID再获取新鲜事详细信息
 * */
 public List<FreshNews> getFreshNews(int userId, long start, long end);
 /*
 * 添加好友
 * (1)添加好友UID到好友列表set数据结构中(注意双向添加)
 * */
 public boolean addFriend(int fromUserId, int toUserId);
}

相关推荐

发表评论

路人甲 表情
Ctrl+Enter快速提交

网友评论(0)