Python定时从Mysql提取数据存入Redis的实现

时间:2020-11-18 06:21:28 作者:背锅熊 阅读:107次撤稿申请

2.随后实例化redis类,将数据信息简易分析后逐一传到redis序列

3.计时器设计方案每日凌晨12点刚开始跑

ps:redis是个内存数据库,做后台管理消息队列的缓存文件时有非常大的用途,有兴趣爱好的小伙伴们能够去查询有关的文本文档。 # -*- coding:utf-8 -*- import MySQLdbimport scheduleimport timeimport datetimeimport randomimport stringimport redis# get the data from mysqlclass FromSql(object): def __init__(self, conn): self.conn = conn def acquire(self): cursor = self.conn.cursor() try:sql = "SELECT * FROM test WHERE TO_DAYS(NOW()) - TO_DAYS(t) = 1"cursor.execute(sql)rs = cursor.fetchall()#print (rs)for eve in rs:print('%s, %s, %s, %s' % eve)copy_rs = rscursor.close()return copy_rsexcept Exception as e:print("The error: %s" % e)class RedisQueue(object): def __init__(self, name, namespace='queue', **redis_kwargs): """The default connection parameters are: host='localhost', port=6379, db=0""" self.__db= redis.Redis(**redis_kwargs) self.key = '%s:%s' %(namespace, name) def qsize(self): return self.__db.llen(self.key) def put(self, item): self.__db.rpush(self.key, item) def get(self, block=True, timeout=None): if block:item = self.__db.blpop(self.key, timeout=timeout) else:item = self.__db.lpop(self.key) if item:item = item[1] return item def get_nowait(self): return self.get(False)if __name__ == "__main__": # connect mysqldb conn_sql = MySQLdb.connect(host = '127.0.0.1',port = 3306,user = 'root',passwd = '',db = 'test',charset = 'utf8')def job_for_redis(): get_data = FromSql(conn_sql) data = get_data.acquire() q = RedisQueue('test',host='localhost', port=6379, db=0) for single_data in data:for meta_data in single_data:q.put(meta_data)print(meta_data) print("All data had been inserted.") """ try: schedule.every().day.at("00:00").do(job_for_redis) except Exception as e: print('Error: %s'% e)# finally:# conn.close() while True: schedule.run_pending() time.sleep(1)"""

填补专业知识:python定时执行获得利率存进数据库查询

python计划任务:

我们可以应用 轻量的第三方控制模块schedule。最先先安裝:pip install schedule

计划任务的的趣味测试:import scheduleimport time def job(): print("I'm working...") schedule.every(10).minutes.do(job)# 每过十分钟实行一次每日任务schedule.every().hour.do(job)# 每过一小时实行一次每日任务schedule.every().day.at("10:30").do(job) # 每天10:30实行一次每日任务schedule.every(5).to(10).days.do(job)# 每5-10天实行一次每日任务schedule.every().monday.do(job)# 每星期一的这个时候实行一次每日任务schedule.every().wednesday.at("13:15").do(job) # 每周三13:15实行一次每日任务 while True: schedule.run_pending()

读取数据存进数据库查询:(文件格式很有可能不太对,也有一些标记。自身改动一下就可以)import pymysqlimport scheduleimport timeimport requestsimport pandasfrom sqlalchemy import create_engine#获得美金的全部外汇交易def job(): content = '美金' url = 'http://www.boc.cn/sourcedb/whpj/index.html' #外汇数据详细地址 html = requests.get(url).content.decode('utf-8') index = html.index('td' content '/td') str = html[index:index 300] result = re.findall('td(.*)/td',str) print("货币:" result[0]) print("现汇买入价:" result[1]) print("现钞买入价:" result[2]) print("现汇卖出价:" result[3]) print("现金卖出价:" result[4]) print("中国银行合同价:" result[5]) print("发布时间:" result[6] ' ' result[7]) #本地地址 数据库查询账户 登陆密码 数据库查询名 db = pymysql.connect('localhost','root','root','pinyougoudb') cursor = db.cursor() #sql语句 sql = "update tb_money set huiBuy = %s,chaoBuy = %s,huiSale = %s,chaoSale = %s,centerResult= %s,publishTime = '%s' where typeId = '%s'" % (result[1], result[2], result[3], result[4], result[5], result[6] ' ' result[7], result[0]) cursor.execute(sql) db.commit() print('success') # 查看句子,将存进的数据信息查出 # sqlalchemy 开展数据库查询复位 engine = create_engine('mysql pymysql://root:root@localhost:3306/pinyougoudb') sql = '''select * from tb_money''' # pandas 开展数据库查询读写能力 df = pandas.read_sql_query(sql,engine) print(df) db.commit()# 每过一些中更新一次#schedule.every(0.1).minutes.do(job)#每日何时更新schedule.every().day.at("09:29").do(job)schedule.every().day.at("09:30").do(job)#一直循环系统 了解符合条件实行while True: schedule.run_pending()

之上这篇Python定时执行从Mysql获取数据信息存进Redis的完成便是我共享给大伙儿的所有内容了,期待能给大伙儿一个参照,也期待大伙儿多多的适用本网站。文章内容来源于:www.seo-7.comwww.sEo-6.comhttp://www.seo-6.com/seoyh/seojichurm/118446.html

(编辑:部分内容来互联网)

顶一下

(0)

0%

踩一下

(0)

0%

版权声明:

1、本文由SEO内容部分来自互联网,保留著作所有权,转载请注明来源,否则谢绝转载;

2、非原创内容会有明确作者及来源标注。3、本文标题:↓↓↓Python定时从Mysql提取数据存入Redis的实现

定时将redis数据存入mysql_Python定时从Mysql提取数据存入Redis的实现相关推荐

  1. python爬取图片存入mysql_python爬取微博图片数据存到Mysql中遇到的各种坑

    前言 由于硬件等各种原因需要把大概170多万2t左右的微博图片数据存到Mysql中.之前存微博数据一直用的非关系型数据库mongodb,由于对Mysql的各种不熟悉,踩了无数坑,来来回回改了3天才完成 ...

  2. php mysql 读取中文数据的函数_php读取mysql中文数据出现乱码的解决方法

    以下是对php读取mysql中文数据出现乱码问题的解决方法进行了介绍,需要的朋友可以过来参考下 1.PHP页面语言本身的编码类型不合适,这时候,你直接在脚本中写的中文肯定是乱码,不用说数据库了 解决方 ...

  3. linux mysql 数据文件,Linux下修改MySQL数据库数据文件路径的步骤

    使用rpm安装方式安装完MySQL数据库后,数据文件的默认路径为/var/lib/mysql,然而根目录并不适合用于存储数据文件. 原路径:/var/lib/mysql 目标路径:/home/mysq ...

  4. mysql 清洗字段数据,根据字段条件清理MySQL数据库数据

    背景 线上某个数据库有1000个分库的DB,磁盘告警,每个库的大小都不是很大但是加起来就非常大了.手动根据时间字段来清理数据不太现实,于是决定写脚本来删除指定时间以前的数据. 脚本: #/bin/ba ...

  5. ajax从mysql提取数据在html中_提取图片中数据的科研利器

    在科研生活中,我们经常会遇到分析仪器绘制出的曲线只能打印不能输出数据文件的情况:或者看文献过程中你想把某文献中的折线或者曲线图之类的转化成可编辑的数字文件,以便于在Excel或Origin等绘图软件中 ...

  6. mysql11导入数据_MySQL专题11之MySQL导出数据、MySQL导入数据

    1.MySQL导出数据 -  MySQL中你可以使用SELECT...INTO OUTFILE语句来简单的导出数据到文本文件中. a.使用SELECT...INTO OUTFILE -  以下实例中我 ...

  7. centos下mysql更改数据存放目录_CentOS下mysql更改数据存放目录 --转载

    MYSQL默认的数据文件存储目录为/var/lib/mysql.假如要把目录移到/home/data下需要进行下面几步: 1.home目录下建立data目录 cd /homemkdir data 2. ...

  8. mysql 查看数据表大小_关于MySQL 查询表数据大小的总结

    一:关于MySQL表数据大小 我们知道mysql存储数据文件一般使用表空间存储 当mysql使用innodb存储引擎的时候,mysql使用表存储数据分为共享表空间和独享表空间两种方式 ·共享表空间:I ...

  9. python如何从文本中提取数据_如何从文本文件中提取数据?

    所以我有一组文件,我需要从中提取数据并写入一个新的txt文件,我不知道如何使用Python来实现这一点.下面是一个样本数据.我试图从NSF的组织,文件和摘要中提取部分.在 标题:CRB:神秘鲸濒危种群 ...

  10. 【mysql表数据的大小】关于MySQL 查询表数据大小的总结

    一:关于mysql表数据大小 我们知道mysql存储数据文件一般使用表空间存储  当mysql使用innodb存储引擎的时候,mysql使用表存储数据分为共享表空间和独享表空间两种方式  ·共享表空间 ...

最新文章

  1. 怎么时装linux可用空间变大,[合集]OpenSUSE安装octave时装1G多texliv - 精华区 - 优秀的Free OS(Linux)版 - 北大未名BBS...
  2. NLP之---word2vec算法skip-gram原理详解
  3. python字典有序还是无序_python--基础语法
  4. [导入]CLR探索系列:Server and Workstation Garbage Collection探索(垃圾回收系列)
  5. ESP32-SPI接口bl0942驱动
  6. 如何下载msdn上面的操作系统镜像
  7. outlook邮箱邮件内容乱码_outlook邮件乱码怎么转换
  8. apache服务器的日志文件,apache日志文件在哪
  9. HUNNU 11786 Sir Charles Antony Richard Hoare
  10. #91;#12304;#26469;#20998;#26399;#23458;#26381;#30005;#35805;#12305;#93;
  11. 年薪百万,到手能拿到多少钱?
  12. asterisk连接sip139网络电话
  13. Nginx正则表达式locationrewrite
  14. Xposed模块开发指南
  15. 消除红眼效应及matlab实现
  16. VPS服务-Docker搭建个人博客网站
  17. 位图(BMP)文件格式(一)
  18. 边吃烧烤边喝啤酒引发疾病
  19. 数据库中触发器的作用,规则和限制
  20. ug提示找不到html文件,[图文教程] 以下文件无法加载,导致打开操作失败: 使用当前搜索选项找不到文件,部件已卸载...

热门文章

  1. 网络狂飙2(netspeeder2) v2.3 简体中文版 怎么用
  2. react-native设置应用启动页
  3. 网站流量日志数据分析系统与技术架构
  4. Mysql 解决 Your password has expired.
  5. 全球及中国中线静脉插管行业研究及十四五规划分析报告
  6. html markdown插件,MarkDown编辑必备插件
  7. 微信与多闪之争背后,好友关系链到底是如何窃取的?
  8. C#WinForm实现雷速网站逆向
  9. HTTP中GET,POST和PUT的区别
  10. 尼古拉斯·卡尔:IT发兵“云计算”