Redis多个集合取交集,如何提高性能
我们都知道Redis的集合,是可以对多个集合取交集。例如社交好友推荐。
- 如果只有几个集合,或者几十个集合,我们可以拿当前人的关注集合,通过
循环
的方式,依次对其他的集合取交集。 - 如果系统中存在几十万,几百万的用户,每一个用户关注的,都单独存一个集合,这样系统就会有上百万的集合。如果还是拿当前用户的集合通过
循环
的方式,依次对其他的集合取交集。这种效率肯定是太低的,是否有其他的方式可优化。
没理解意思,你自己都说了“是可以对多个集合取交集”,那就应该是指
ZINTERSTORE
命令,都能一次性计算全部集合了,怎么还需要循环呢共同好友?