mysql和redis数据库的查询添加脚本

从mysql查询数据导入redis

select_sql = "select A.source_id,A.pic_url,A.id from newhouse_%s.complex_pic as A LEFT JOIN newhouse_%s.complex as B ON A.complex_id=B.complex_id WHERE  A.source_id=%s AND B.weight >= 50;"

def mysql_select(city, source_id):
    #从sql查询数据
    cur_complex_r.execute(select_sql % (city, city, source_id))
    #获取全部数据
    row_1 = cur_complex_r.fetchall()
    #获取表名+sourceID 作为队列名
    source_name = SOURCES_DICT[source_id]
    reids_dui = "%s_%s" % (source_name, city)
    reids_dui_tmp = "%s_%s_tmp" % (source_name, city)
    redisdb.delete(reids_dui)
    redisdb.delete(reids_dui_tmp)
    for x in row_1:
        ##存入redis队列
        data = {'id': x.get('id', 0), 'pic_url': x.get('pic_url', '')}
        print reids_dui, x.get('pic_url', '')
        redisdb.lpush(reids_dui, x.get('pic_url', ''))
        redisdb.lpush(reids_dui_tmp, json.dumps(data))

用redis的数据来更新mysql数据

update_sql = "update newhouse_%s.complex_pic set noer_pic_url='%s' where id=%s;"

#---------------------------------------从redis数据更新mysql
def mysql_update(city):
    #获取城市信息
    #获取该城市所有的队列名
    redis_names = redisdb.keys("*_%s_update" % city)
    for redis_name in redis_names:
        #获取队列中所有的值
        i = 0
        while redisdb.llen(redis_name):
            x = redisdb.lpop(redis_name)
            if x:
                x = json.loads(x)
                nopic = x['nofinger_pic_url']
                pic_id = x['id']
                i += 1
                print i, update_sql % (city, nopic, pic_id)
                cur_complex_w.execute(update_sql % (city, nopic, pic_id))
            if i % 100 == 0:
                conn_complex_w.commit()
        else:
            conn_complex_w.commit()
            break

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小僵尸打字员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值