使用Redis实现关注关系

假设“我”的ID是1,“别人”的ID是2。

SADD 1:follow 2
SADD 2:fans 1
SREM 1:follow 2
SREM 2:fans 1
SMEMBERS 1:follow

查看别人的把id换掉就可以

四、粉丝列表

查看我的粉丝列表:

SMEMBERS 2:fans

查看别人的把id换掉就可以

五、人物关系

SISMEMBER 1:follow 2  #true
SISMEMBER 1:fans 2    #false
SISMEMBER 1:follow 2  #false
SISMEMBER 1:fans 2    #true

5.3 我和某人是否互粉

SISMEMBER 1:follow 2  #true
SISMEMBER 1:fans 2    #true

互粉的关系是互相的,也可以反过来查。

六、我的互粉

SINTER 1:follow 1:fans
SINTER 1:follow 2:follow

八、数量相关

SCARD 1:follow

8.2 我的粉丝数

SCARD 1:fans

九、问题

ZADD 1:follow 1457871625 2
ZADD 2:fans 1457871625 1
ZREVRANGE 1:follow 0 -1

同时,ZREVRANGE查询时的索引可以作为分页游标,基本解决目前的问题。

粉丝列表同理。

链接:

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