logo

好友圈排行榜怎么做?ZINTERSTORE 的作用是什么,为什么也可以让客户端本地合并来减轻服务端压力?

How do you build friend-circle leaderboards? What does ZINTERSTORE do and why can client-side merging reduce server load?

题目类型: 技术面试题

这是一道技术面试题,常见于澳洲IT公司面试中。

难度: medium

分类: System Design

标签: friends, zinterstore, personalization, client-side

参考答案摘要

答案 好友圈榜单需要把“好友集合”与“全局榜单”取交集。 将好友列表维护为一个 Sorted Set(初始 score=0)。 用 ZINTERSTORE 对好友集合与全局榜单做交集,产出好友圈榜单。 如果用户规模很大,服务端为每个用户实时生成好友榜单会很重。可选方案是 客户端合并 :客户端拿到好友列表与全局榜单的局部数据,在本地计算并缓存,从而把个性化计算“下沉”到端侧,按玩家规模线性扩展。

本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。

← 返回面试题库

好友圈排行榜怎么做?ZINTERSTORE 的作用是什么,为什么也可以让客户端本地合并来减轻服务端压力?

Mediumsystem-designleaderboardrediscacheserverlessscalabilityreliabilitysecuritywebsocket

想查看完整答案?

登录匠人学院学习中心,获取 STAR 格式回答和详细技术解析

前往学习中心查看答案