def clear_msg(sender, to_user): msg = REDIS_DB.get(to_user) if msg: msg = json.loads(msg) msg[sender] = 0 REDIS_DB.set(to_user, json.dumps(msg))
def get_reids_one(to_user, from_user): to_user_msg = REDIS_DB.get(to_user) if to_user_msg: to_user_msg = json.loads(to_user_msg) count = to_user_msg.get(from_user, 0) to_user_msg[from_user] = 0 REDIS_DB.set(to_user, json.dumps(to_user_msg)) return count else: return 0
def set_redis(to_user, from_user): # toy:{app:2} to_user_msg = REDIS_DB.get(to_user) if to_user_msg: to_user_msg = json.loads(to_user_msg) if to_user_msg.get(from_user): to_user_msg[from_user] += 1 else: to_user_msg[from_user] = 1 else: to_user_msg = {from_user: 1} REDIS_DB.set(to_user, json.dumps(to_user_msg))
def set_redis(sender, to_user): user_msg = REDIS_DB.get(to_user) if not user_msg: REDIS_DB.set(to_user, json.dumps({sender: 1})) else: user_msg = json.loads(user_msg) if not user_msg.get(sender): user_msg[sender] = 1 else: user_msg[sender] += 1 REDIS_DB.set(to_user, json.dumps(user_msg))
def set_redis(to_user, from_user): # 如果app给玩具发消息,那么站在app的角度上to_user就是玩具,from_user就是app # 这里的to_user也是玩具,所以get(to_user)就是get自己 self_redis = REDIS_DB.get(to_user) # 查看数据库中是否存在自己的空间,如果有就+1,没有就创建 if self_redis: chat_dict = json.loads(self_redis) # 先到redis中loads,看看有没有数据 chat_dict.setdefault(from_user, 0) chat_dict[from_user] += 1 REDIS_DB.set(to_user, json.dumps(chat_dict)) else: # {'我':{'联系人1号':1,'联系人2号':3}} redis中没有字典类型,需要哈希存储能拿字典 # 所以我们可以换思路,把字典给json,变成字符串 chat = {from_user: 1} # 因为一次只能发一条消息,所以默认为1 REDIS_DB.set(to_user, json.dumps(chat))
def get_redis_one_toy(to_user, from_user): to_user_msg = REDIS_DB.get(to_user) if to_user_msg: to_user_msg = json.loads(to_user_msg) count = to_user_msg.get(from_user, 0) if count == 0: for key, value in to_user_msg.items(): if value: count = to_user_msg.get(key) from_user = key to_user_msg[from_user] = 0 REDIS_DB.set(to_user, json.dumps(to_user_msg)) return count, from_user else: return 0
def get_redis(to_user, from_user): # 如果app给玩具发消息,那么站在app的角度上to_user就是玩具,from _user就是app # 这里的to_user也是玩具,所以get(to_user)就是get自己 self_redis = REDIS_DB.get(to_user) count = 0 if self_redis: chat_dict = json.loads(self_redis) # 先到redis中loads,看看有没有数据 chat_dict.setdefault(from_user, 0) count = chat_dict[from_user] if count == 0: key, value = re_get_redis(chat_dict) if key: from_user = key count = value chat_dict[from_user] = 0 REDIS_DB.set(to_user, json.dumps(chat_dict)) return from_user, count