def del_mem_msg(nicknames): ''' 删除它的mem_$nickname_msg, ''' for nickname in nicknames: mem_key = nickname2mem_key(nickname) r_db.delete(mem_key)
def fsync_msg(channel_ids): ''' 把redis中的信息同步到数据库中, 把channel_$id_msgs值写入到数据库 ''' for i in channel_ids: key = id2channel_msg_key(channel_id) msg = r_db.lrange(key, 0, -1) msg = (config.LINE_SPLIT).join(msg) create_msg(id, msg) r_db.delete(key)
def put_msg(channel_id, line): ''' 把line一句话记录给channel_id, 先记录在redis中,当达到MAX_LINE行是记录到数据库中, 需要注意下面的fsync_msg的使用 ''' key = id2channel_msg_key(channel_id) print '-------------', key, line r_db.lpush(key, line) if r_db.llen(key) >= config.MAX_LINE: msg = r_db.lrange(key, 0, -1) msg = (config.LINE_SPLIT).join(msg) create_msg(id, msg) r_db.delete(key)
def del_channel_msg(channels): '''删除指定id([])的 channel_$id_msgs''' for i in channels: r_db.delete(id2channel_msg_key(i))
def del_channel_mem(channels): '''删除指定id([])的 channel_$id_mem_s,''' for i in channels: r_db.delete(id2channel_mem_key(i))