python3.4学习笔记(二十五) Python 调用mysql redis实例代码

 #coding: utf-8
__author__ = 'zdz8207'
#python2.7
import redis, json, re, time
import MySQLdb
import MySQLdb.cursors HOST = "127.0.0.1"
USER = "db username"
PASSWD = "your password"
DB = "your db name"
REDIS_DB = redis.Redis(host="127.0.0.1", password="youpassword", port=xxxx) import re
import random
import datetime
import traceback #update 的直接传sql语句进来
def search_by_mysql(sql):
data = []
try:
conn = None
#conn = MySQLdb.connect(host=HOST, user=USER, passwd=PASSWD, db=DB) #默认返回元组类型
#cursorclass=MySQLdb.cursors.DictCursor 以key:value字典方式返回
conn = MySQLdb.connect(host=HOST, user=USER, passwd=PASSWD, db=DB, cursorclass=MySQLdb.cursors.DictCursor)
cur = conn.cursor()
cur.execute(sql)
data = cur.fetchall()
cur.close()
conn.commit()
conn.close()
except MySQLdb.Error, e:
print "Mysql Error %d: %s" % (e.args[0], e.args[1])
return data def updateData():
print("========== start updateData ===========")
# get reddis issues
issues = REDIS_DB.hkeys(lottery_type)
issues.sort()
issue = issues[-1]
try:
datas = search_by_mysql("SELECT s.id, s.issue,a.numbers FROM search_history AS s JOIN assembly_ssq AS a "\
"WHERE s.lottery_type='ssq' AND s.assembly_id=a.id AND s.iscalculate=0 AND s.issue <= %s LIMIT 100" %(issue))
#print(datas)
except:
traceback.print_exc()
return
if len(datas) == 0:
print("========== end update data="+ str(len(datas)))
return
for data in datas:
numbers = data["numbers"]
id = data["id"]
issue = data["issue"]
cur_issue = REDIS_DB.hget(lottery_type, issue)
issue_data = json.loads(cur_issue)
result = issue_data['result']
ismach = 0
if numbers == result:
ismach = 1
try:
update_sql = "update search_history set ismach=%s, where id=%s " %(ismach,id)
search_by_mysql(update_sql)
except:
traceback.print_exc()
print("========== end update data="+ str(len(datas))) if __name__ == "__main__":
updateData()

扩展阅读:

python3.4学习笔记(二十四) Python pycharm window安装redis MySQL-python相关方法 - 流风,飘然的风 - 博客园
http://www.cnblogs.com/zdz8207/p/python_learn_note_24.html

python3.4学习笔记(二十五) Python 调用mysql redis实例代码的更多相关文章

  1. python3.4学习笔记(二十四) Python pycharm window安装redis MySQL-python相关方法

    python3.4学习笔记(二十四) Python pycharm window安装redis MySQL-python相关方法window安装redis,下载Redis的压缩包https://git ...

  2. python3.4学习笔记(二十六) Python 输出json到文件,让json.dumps输出中文 实例代码

    python3.4学习笔记(二十六) Python 输出json到文件,让json.dumps输出中文 实例代码 python的json.dumps方法默认会输出成这种格式"\u535a\u ...

  3. python3.4学习笔记(二十二) python 在字符串里面插入指定分割符,将list中的字符转为数字

    python3.4学习笔记(二十二) python 在字符串里面插入指定分割符,将list中的字符转为数字在字符串里面插入指定分割符的方法,先把字符串变成list然后用join方法变成字符串str=' ...

  4. python3.4学习笔记(二十) python strip()函数 去空格\n\r\t函数的用法

    python3.4学习笔记(二十) python strip()函数 去空格\n\r\t函数的用法 在Python中字符串处理函数里有三个去空格(包括'\n', '\r', '\t', ' ')的函数 ...

  5. Java基础学习笔记二十五 MySQL

    MySQL 在dos中操作mysql 连接mysql命令: mysql -uroot -p密码 ,连接OK,会出现mysql> 对数据库的操作 创建一个库 create database 库名 ...

  6. Java学习笔记二十五:Java面向对象的三大特性之多态

    Java面向对象的三大特性之多态 一:什么是多态: 多态是同一个行为具有多个不同表现形式或形态的能力. 多态就是同一个接口,使用不同的实例而执行不同操作. 多态性是对象多种表现形式的体现. 现实中,比 ...

  7. PHP学习笔记二十五【类的继承】

    <?php //定义父类 class Stu{ public $name; protected $age; protected $grade; private $address;//私有变量不会 ...

  8. angular学习笔记(二十五)-$http(3)-转换请求和响应格式

    本篇主要讲解$http(config)的config中的tranformRequest项和transformResponse项 1. transformRequest: $http({ transfo ...

  9. python3.4学习笔记(二十三) Python调用淘宝IP库获取IP归属地返回省市运营商实例代码

    python3.4学习笔记(二十三) Python调用淘宝IP库获取IP归属地返回省市运营商实例代码 淘宝IP地址库 http://ip.taobao.com/目前提供的服务包括:1. 根据用户提供的 ...

随机推荐

  1. 9.20Ajax知识sweetalet

    2018-9-20 14:19:55 2018-9-20 21:33:05 周末可以帮我图书商城再次优化一下!! 加入 Ajax请求,,再加上 sweetAlert  甜蜜对话框插件! 要是再加上模态 ...

  2. 电话、地址、Email等常用正则表达式

    正则表达式用于字符串处理.表单验证等场合,实用高效.现将一些常用的表达式收集于此,以备不时之需. 匹配中文字符的正则表达式: [\u4e00-\u9fa5]评注:匹配中文还真是个头疼的事,有了这个表达 ...

  3. 金字塔原理——MECE(Mutually Exclusive Collectively Exhaustive)

    一.金字塔原理 它的样子: 一个中心思想,分出下面2到N个思想支撑,每个分论点下面又有2到N个思想(事实或数据)支撑,以此类推,形状如金字塔.原则是以终为始(先结果后原因),以上统下,归纳分组,逻辑递 ...

  4. Oracle管理监控之sql developer配置与简单使用

    1. 前提:使用sqldeveloper的前提是你的机器上安装了Oracle. 2. 刚打开sql developer 找到所安装的jdk的目录,本人安装的路径为:C:\Java\jdk1.6.0\b ...

  5. Web终端SSH功能

    http://www.laozuo.org/10703.html------ CentOS安装配置GateOne实现Web终端SSH功能

  6. jquery中的ajax方法参数的用法和他的含义:

    转自:https://www.cnblogs.com/huiyuantang/p/5458278.html 1.url:  要求为String类型的参数,(默认为当前页地址)发送请求的地址. 2.ty ...

  7. 推荐两个国外网站-帮你优化网站SEO和预测下期的PR值

    第一个:http://www.domaintools.com/ (谷歌SEO网站优化伴侣)可以测试你优化网站的分数. 这里使用说明,简单说一下吧: 打开网站后输入自己的域名,点击搜索按钮 第二个查看分 ...

  8. sql server 基本问题解决思路

    1.数据库故障排查步骤,如何处理紧急数据库问题;首先根据报错信息找到故障原因.然后实施对应的解决方案.2.SQL调优步骤,如何来判断SQL语句存在问题,怎么定位问题,如何解决这些问题:可以建立一个Pe ...

  9. SQL死锁知识及解决办法

    [翻译]:SQL死锁-死锁排除 min.jiang 2014-03-18 00:23 阅读:874 评论:1     项目中死锁的解决经历 min.jiang 2014-03-17 01:09 阅读: ...

  10. 既生list何生tuple

    python中list是可以修改的;若要创建一系列不可修改的元素时,就需要tuple. 用 tuple 的好处: 1.tuple 比 list 操作速度快.如果您定义了一个值的常量集,并且唯一要用它做 ...