def id_list_by_tag_id(self, tag_id, limit=None, offset=0): key = self.key_tag_id_xid_list%tag_id if limit is None: end = -1 else: end = offset+limit-1 return redis.lrange(key, offset, end)
def pop_id(self, id): key_tag_id_xid_list = self.key_tag_id_xid_list key_xid_tag_id_list = self.key_xid_tag_id_list%id tag_id_set = redis.lrange(key_xid_tag_id_list, 0, -1) p = redis.pipeline() for tag_id in tag_id_set: p.lrem(key_tag_id_xid_list%tag_id, id) p.execute() redis.delete(key_xid_tag_id_list) self._flush_count(tag_id_set)
def tag_id_list_by_id(self, id): key = self.key_xid_tag_id_list%id return redis.lrange(key, 0, -1)