没有合适的资源?快使用搜索试试~ 我知道了~
首页Python定时从Mysql提取数据存入Redis的实现
资源详情
资源评论
资源推荐
Python定时从定时从Mysql提取数据存入提取数据存入Redis的实现的实现
主要介绍了Python定时从Mysql提取数据存入Redis的实现,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
设计思路:设计思路:
1.程序一旦run起来,python会把mysql中最近一段时间的数据全部提取出来
2.然后实例化redis类,将数据简单解析后逐条传入redis队列
3.定时器设计每天凌晨12点开始跑
ps:redis是个内存数据库,做后台消息队列的缓存时有很大的用处,有兴趣的小伙伴可以去查看相关的文档。
# -*- coding:utf-8 -*-
import MySQLdb
import schedule
import time
import datetime
import random
import string
import redis
# get the data from mysql
class 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 = rs
cursor.close()
return copy_rs
except 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定时任务:
weixin_38722329
- 粉丝: 12
- 资源: 960
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0