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_redis(to_user): msg = REDIS_DB.get(to_user) if msg: msg = json.loads(msg) msg["count"] = sum(msg.values()) return msg
def get_redis_random(toy_id): toy_msg = REDIS_DB.get(toy_id) if toy_msg: toy_msg = json.loads(toy_msg) for sender, count in toy_msg.items(): if count: return sender, count return None, None
def get_redis_all(to_user): self_redis = REDIS_DB.get(to_user) chat_dict = {'count': 0} if self_redis: chat_dict = json.loads(self_redis) # {'联系人1号':1,'联系人2号':3} # 添加一个未读数据的总和 chat_dict['count'] = sum(chat_dict.values()) return chat_dict
def get_connection(**kwargs): _RQ_DEFAULT_CONNECTION = { 'HOST': REDIS_HOST, 'PORT': 6379, 'DB': REDIS_DB.get('tasks'), 'PASSWORD': '', 'DEFAULT_TIMEOUT': 360, } _RQ_DEFAULT_CONNECTION.update(kwargs) return _RQ_DEFAULT_CONNECTION
def get_redis_all(to_user): to_user_msg = REDIS_DB.get(to_user) if to_user_msg: to_user_msg = json.loads(to_user_msg) #{"toy1":1,"toy2":1,"toy3":2} to_user_msg['count'] = sum(to_user_msg.values()) return to_user_msg else: return {'count': 0}
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_config(): # 1. 获取应用配置 app_list_str = REDIS_DB.get('_all_app_list') app_list = [] if app_list_str: app_list = app_list_str.split(',') app_config_dict = {} pipe = REDIS_DB.pipeline() for appname in app_list: pipe.hgetall(appname + '_config') res_list = pipe.execute() for i in range(len(res_list)): app_config_dict[app_list[i]] = res_list[i] return app_config_dict
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
def get_redis_count(sender, to_user): msg = REDIS_DB.get(to_user) if msg: msg = json.loads(msg) return msg[sender]