Example #1
0
def set_msg(sender, receiver):
    msg_count = RDB.get(receiver)
    # print(msg_count)
    if msg_count:
        msg_dict = json.loads(msg_count)
        if msg_dict.get(sender):
            msg_dict[sender] += 1
        else:
            msg_dict[sender] = 1
    else:
        msg_dict = {sender: 1}
    # print(msg_dict)
    RDB.set(receiver, json.dumps(msg_dict))
Example #2
0
def get_all_redis(to_user):
    to_user_json = RDB.get(to_user)
    if to_user_json:
        to_user_dict = json.loads(to_user_json)
        to_user_dict["count"] = sum(to_user_dict.values())
    else:
        to_user_dict = {"count": 0}

    return to_user_dict
Example #3
0
def get_msg_count(receiver):
    chat_dict = RDB.get(receiver)
    count = 0
    if chat_dict:
        chat_dict = json.loads(chat_dict)
        count = sum(chat_dict.values())
    else:
        chat_dict = {}
    chat_dict['count'] = count
    return chat_dict
Example #4
0
def get_msg(sender, receiver):
    msg_count = RDB.get(receiver)
    count = 0
    msg_dict = {'count': 0}

    if msg_count:
        msg_dict = json.loads(msg_count)
        count = msg_dict.get(sender, 0)

        if count == 0:
            for sender_id, chat_count in msg_dict.items():
                if chat_count != 0:
                    sender = sender_id
                    count = chat_count
                    break

    msg_dict[sender] = 0
    RDB.set(receiver, json.dumps(msg_dict))
    return count, sender
Example #5
0
def set_redis(to_user, from_user):
    to_user_json = RDB.get(to_user)  # 通过 to_user 查询 Redis 中的数据
    if to_user_json:  # 若存在
        to_user_dict = json.loads(to_user_json)  # 反序列化

        #######
        # if to_user_dict.get(from_user):  # 若获取的数据结构中包含 from_user 的数据
        #     to_user_dict[from_user] += 1  # 加 1
        # else:  # 否则
        #     to_user_dict[from_user] = 1  # 添加记录
        #######

        # 优化代码方案:
        to_user_dict[from_user] = to_user_dict.get(from_user, 0) + 1

        to_user_json = json.dumps(to_user_dict)  # 重新序列化 赋值(覆盖)
    else:  # 若不存在
        to_user_json = json.dumps({from_user: 1})  # 序列化 1 条数据 赋值(覆盖)

    RDB.set(to_user, to_user_json)  # 将结果添加到 Redis 数据库中 存储 1 条未读数据
Example #6
0
def get_redis_toy(to_user, from_user):
    to_user_json = RDB.get(to_user)
    if to_user_json:
        to_user_dict = json.loads(to_user_json)
        count = to_user_dict.pop(from_user, 0)
        if count == 0:
            for key, value in to_user_dict.items():
                if value:
                    from_user = key
                    count = value
        to_user_dict[from_user] = 0

        to_user_json = json.dumps(to_user_dict)
    else:
        to_user_json = json.dumps({from_user: 0})
        count = 0

    RDB.set(to_user, to_user_json)

    return count, from_user
Example #7
0
def get_redis(to_user, from_user):
    to_user_json = RDB.get(to_user)
    if to_user_json:
        to_user_dict = json.loads(to_user_json)

        #######
        # count = to_user_dict.get(from_user)
        # if not count:
        #     count = 0
        # to_user_dict[from_user] = 0
        #######

        # 优化方案?
        count = to_user_dict.pop(from_user, 0)
        to_user_json = json.dumps(to_user_dict)
    else:
        to_user_json = json.dumps({from_user: 0})
        count = 0

    RDB.set(to_user, to_user_json)

    return count