import redis
# 假设已经有了Redis连接对象`redis_conn`
class FansService:
def __init__(self, redis_conn):
self.redis_conn = redis_conn
def add_fans(self, user_id, fans_id):
"""为用户添加粉丝"""
key = f"user:{user_id}:fans"
self.redis_conn.sadd(key, fans_id)
def remove_fans(self, user_id, fans_id):
"""为用户移除粉丝"""
key = f"user:{user_id}:fans"
self.redis_conn.srem(key, fans_id)
def get_fans(self, user_id):
"""获取用户的粉丝ID列表"""
key = f"user:{user_id}:fans"
return self.redis_conn.smembers(key)
def get_followers(self, user_id):
"""获取用户的关注者ID列表"""
key = f"user:{user_id}:followers"
return self.redis_conn.smembers(key)
# 使用示例
# 假设`redis_conn`是已经连接到Redis的对象
redis_conn = redis.StrictRedis(host='localhost', port=6379, db=0)
fans_service = FansService(redis_conn)
# 添加粉丝
fans_service.add_fans('user123', 'fans456')
# 获取粉丝列表
fans_list = fans_service.get_fans('user123')
print(fans_list) # 输出粉丝ID的集合
这个代码示例展示了如何使用Redis的Set数据结构来实现用户粉丝的关注与取关功能。代码中的FansService
类封装了与粉丝关系相关的操作,通过Redis连接对象与Redis服务器进行交互。使用时,首先创建FansService
的实例,然后调用相应的方法来管理用户的粉丝关系。