# -*- coding:utf-8 -*-
#@Time : 2022/1/7 21:17
#@Author : dogge
#@File :test.py
#@software:PyCharm
# -*- coding: utf-8 -*-
import json
import redis # pip install redis
import pymysql
def main():
# 指定redis数据库信息
rediscli = redis.StrictRedis(host='192.168.226.128', port = 6379,password= 'xxx',db = 0)
# 指定mysql数据库
mysqlcli = pymysql.connect(host='127.0.0.1', user='xxx', passwd='xxx', db='fangtianxia', charset='utf8')
# 无限循环
while True:
source, data = rediscli.blpop(["fangtianxia:items"]) # 从redis里提取数据
item = json.loads(data.decode('utf-8')) # 把 json转字典
try:
# 使用cursor()方法获取操作游标
cur = mysqlcli.cursor()
# 使用execute方法执行SQL INSERT语句
sql = '''insert into house_info(name,big_link,detail_link,house_type,lease_scope,orientation,area,address,city,advantage)
values(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)
'''
cur.execute(sql, (item['name'], item['big_link'], item['detail_link'],
item['house_type'], item['lease_scope'], item['orientation'], item['area'],
item['address'], item['city'], item['advantage'],))
# 提交sql事务
mysqlcli.commit()
#关闭本次操作
cur.close()
print ("插入 %s" % item['name'])
except pymysql.Error as e:
mysqlcli.rollback()
print ("插入错误" ,str(e))
if __name__ == '__main__':
main()
Redis导入MySql脚本
最新推荐文章于 2024-10-23 12:38:36 发布
本文介绍了一个Python脚本,通过Redis和MySQL实现房产信息的高效存储和同步。程序从Redis队列中读取房源详情,然后将JSON格式的数据插入到MySQL数据库中。遇到错误时,程序会回滚事务。

2101

被折叠的 条评论
为什么被折叠?



