示例#1
0
 def connect(self, room):
     # 添加active user
     room = utf8(room)
     room_key = self.ROOM_USER_PREFIX.format(room)
     room_ping_key = self.ROOM_USER_PING_PREFIX.format(room)
     redis_db.hset(room_key, self.uid, self.sid)
     redis_db.hdel(room_ping_key, self.uid)
示例#2
0
 def disconnect(self, room):
     # 添加离线用户到临时表
     room = utf8(room)
     room_key = self.ROOM_USER_PREFIX.format(room)
     room_ping_key = self.ROOM_USER_PING_PREFIX.format(room)
     redis_db.hdel(room_key, self.uid)
     redis_db.hset(room_ping_key, self.uid,
                   DateTime.timestamp() + self.TIMEOUT)
示例#3
0
 def block(self, room=None):
     """
     如果不传room,则全局block
     :param room
     :return: 
     """
     timestamp = DateTime.timestamp()
     if room is None:
         redis_db.hset(self.GLOBAL_BLOCK, self.uid, timestamp)
     else:
         block_room = self.BLOCK_ROOM_USER.format(room)
         redis_db.hset(block_room, self.uid, timestamp)
示例#4
0
 def uid_role_map(cls, uid, role):
     redis_db.hset(cls.USER_ROLE_PREFIX, uid, role)
示例#5
0
 def sid_room_map(cls, sid, room):
     redis_db.hset(cls.SID_ROOM_PREFIX, sid, room)
示例#6
0
 def sid_uid_map(cls, sid, uid):
     redis_db.hset(cls.SID_USER_PREFIX, sid, uid)