Redis实现好友关注关系的思路

假设两个用户。用户ID分别为1和2,。

ZADD 1:follow time(时间戳) 2
ZADD 2:fans time(时间戳) 1

ZREM 1:follow 2
ZREM 2:fans 1

3、查看粉丝列表
ZRANGE 1:fans 0 -1
ZRANGE 1:follow 0 -1

5、粉丝数量

ZCARD 1:fans
ZCARD 1:follow
人物关系
ZSCORE 1:follow 2 #ture
ZSCORE 1:fans 2 #false
如果第一条成立,第二条不成立,说明我单向关注了对方(1关注了2,而1的粉丝中没有2,说明2并没有关注1)。
ZSCORE 1:follow 2 #false
ZSCORE 1:fans 2 #true
如果第一条不成立,第二条成立,说明对方单向关注了我(1没有关注2,而1的粉丝中有2,说明2关注了1);
ZSCORE 1:follow 2 #true
ZSCORE 1:fans 2 #true
如果上面两条都成立,即说明互相关注了(1关注了2,并且1的粉丝中有2,说明2也关注1了)。

在查询出数据的时候可以将关系写入到临时表中,在这里就不再阐述了。


经验分享 程序员 微信小程序 职场和发展