python3.4学习笔记(二十五) Python 调用mysql redis实例代码
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实例代码的更多相关文章
- python3.4学习笔记(二十四) Python pycharm window安装redis MySQL-python相关方法
python3.4学习笔记(二十四) Python pycharm window安装redis MySQL-python相关方法window安装redis,下载Redis的压缩包https://git ...
- python3.4学习笔记(二十六) Python 输出json到文件,让json.dumps输出中文 实例代码
python3.4学习笔记(二十六) Python 输出json到文件,让json.dumps输出中文 实例代码 python的json.dumps方法默认会输出成这种格式"\u535a\u ...
- python3.4学习笔记(二十二) python 在字符串里面插入指定分割符,将list中的字符转为数字
python3.4学习笔记(二十二) python 在字符串里面插入指定分割符,将list中的字符转为数字在字符串里面插入指定分割符的方法,先把字符串变成list然后用join方法变成字符串str=' ...
- python3.4学习笔记(二十) python strip()函数 去空格\n\r\t函数的用法
python3.4学习笔记(二十) python strip()函数 去空格\n\r\t函数的用法 在Python中字符串处理函数里有三个去空格(包括'\n', '\r', '\t', ' ')的函数 ...
- Java基础学习笔记二十五 MySQL
MySQL 在dos中操作mysql 连接mysql命令: mysql -uroot -p密码 ,连接OK,会出现mysql> 对数据库的操作 创建一个库 create database 库名 ...
- Java学习笔记二十五:Java面向对象的三大特性之多态
Java面向对象的三大特性之多态 一:什么是多态: 多态是同一个行为具有多个不同表现形式或形态的能力. 多态就是同一个接口,使用不同的实例而执行不同操作. 多态性是对象多种表现形式的体现. 现实中,比 ...
- PHP学习笔记二十五【类的继承】
<?php //定义父类 class Stu{ public $name; protected $age; protected $grade; private $address;//私有变量不会 ...
- angular学习笔记(二十五)-$http(3)-转换请求和响应格式
本篇主要讲解$http(config)的config中的tranformRequest项和transformResponse项 1. transformRequest: $http({ transfo ...
- python3.4学习笔记(二十三) Python调用淘宝IP库获取IP归属地返回省市运营商实例代码
python3.4学习笔记(二十三) Python调用淘宝IP库获取IP归属地返回省市运营商实例代码 淘宝IP地址库 http://ip.taobao.com/目前提供的服务包括:1. 根据用户提供的 ...
随机推荐
- vue--简单数据绑定
<template> <div id="app"> {{msg}} //绑定数据 {{obj.name}} //绑定对象 <p v-for=" ...
- vs附加调试 w3p进程没有名称
解决: 把vs用管理员运行
- C3P0连接池配置(C3P0Utils.java)
配置文件 c3p0-config.xml <?xml version="1.0" encoding="UTF-8"?> <c3p0-confi ...
- ECNU 3263 - 丽娃河的狼人传说
一定要纪念一下第一道在比赛中自己做出来的贪心. 题目链接:http://acm.ecnu.edu.cn/problem/3263/ Time limit per test: 1.0 seconds T ...
- ConcurrentLinkedQueue
我们要实现一个线程安全的队列有两种实现方式,阻塞算法.非阻塞算法.使用阻塞算法的队列可以用一个锁(入队和出队用同一把锁) 或两个锁(入队和出队用不同的锁)等方式来实现,而非阻塞的实现方式则可以使用循环 ...
- 控制div显示隐藏(有文字图片介绍)
<div class="toggle"> <p id="zi">收起</p> <p id="zhe" ...
- js_加入收藏夹功能
<script type="text/javascript">function addToFavorite(obj) { var url = "http ...
- LINUX中的ACL
一. 为什么要使用ACL先让我们来简单地复习一下Linux的文件权限. 在 linux下,对一个文件(或者资源)可以进行操作的对象被分为三类: file owner(文件 的拥有者),group(组, ...
- [py]py常用模块小结
- python md5校验: https://blog.csdn.net/linda1000/article/details/17581035 import hashlib hashlib.md5( ...
- 使用tagName定位报错
使用标签进行定位元素,页面报错,由于input标签不唯一,webdriver默认会取第一个元素,但是第一个input元素的类型是‘hidden’,无法展示,因此程序就报错了 如何解决,未完待续...