Beispiel #1
0
Datei: db.py Projekt: zz2/ihere
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)
Beispiel #2
0
Datei: db.py Projekt: zz2/ihere
def get_bcast(nickname, is_del=True):
    '''获自己获得的广播内容'''
    mem_key = nickname2mem_key(nickname)
    if is_del:
        msg = r_db.lpop(mem_key) 
    else:
        msg = r_db.lrange(mem_Key, 0, -1)
    if not msg:
        return []
    else:
        return msg
Beispiel #3
0
Datei: db.py Projekt: zz2/ihere
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)