易瞄瞄项目缓存设计
多个有序集合 score存发布时间戳
- 两个月内的作品集合
- 用户作品集合 (发布立即压入集合)
- 关注用户的作品集合
- 点赞作品集合
- 活跃用户关注作品集合
- 圈子集合
1. 同学校的作品集合
2. 同班级的作品集合
3. 其他圈子 - 置顶作品集合
- 已读作品集合
利用:
zunionrangebyscore 求个对成员score重新计算获取交集
zrembyscore 删除不符合要求的集合成员
rename 修改集合名
更新策略:同步更新与被动更新相结合
- 用户合集,在发布时立即压入
- 其他集合,在审核完成后压入集合
- 每隔一段时间(24h)对集合进行重建,以防redis崩溃或内存泄漏
- 每隔一段时间对活跃用户的关注用户作品集合进行预加载
- 被动过期与主动过期相结合
- 获取集合成员前,先删除过期或不符合推荐要求的成员
- 集合重载时,过滤过期数据和不符合要求的成员