3类数据库的联动:mysql、mongodb、redis

from pymysql import *
from pymongo import *
from redis import * class MySQL(object):
def __init__(self):
self.con = connect(host='localhost', port=3306,
database='stu_info', user='root',
password='mysql', charset='utf8')
self.cur = self.con.cursor()
self.flag = ["mysql", None] def close(self):
self.cur.close()
self.con.close() def check(self, sid):
try:
cur = self.cur
param = [sid]
sel_sql = "select name from student where id = %s"
cur.execute(sel_sql, param)
res = cur.fetchone()
if res:
self.flag[1] = res[0]
except Exception:
pass
finally:
self.close()
return self.flag class Mongo(object):
def __init__(self):
self.client = MongoClient(host='localhost', port=27017)
self.db = self.client.stu_info
self.col = self.db.student
self.flag = ["mongo", None] def check(self, sid):
try:
res = self.col.find_one({"id": sid})
if res:
self.flag[1] = res["name"]
except Exception:
pass
finally:
return self.flag class Redis(object):
def __init__(self):
self.client = StrictRedis()
self.flag = ["redis", None] def check(self, sid):
try:
res = self.client.get(sid)
if res:
self.flag[1] = res.decode()
except Exception:
pass
finally:
return self.flag class Check(object):
def __init__(self):
self.msg = ["不在库中", "未找到该学生"] def check(self, sid):
redis = Redis()
self.msg = redis.check(sid)
if self.msg[1]:
return self.msg
else:
mongo = Mongo()
self.msg = mongo.check(sid)
if self.msg[1]:
return self.msg
else:
mysql = MySQL()
self.msg = mysql.check(sid)
if self.msg[1]:
return self.msg
else:
self.msg = ["不在库中", "未找到该学生"]
return self.msg
def main():
stu_id = input("请输入要查询的id号:")
check_id = Check()
id_msg = check_id.check(stu_id)
print(id_msg)
if __name__ == '__main__':
main()

  

3类数据库的联动:mysql、mongodb、redis的更多相关文章

  1. Scrapy连接到各类数据库(SQLite,Mysql,Mongodb,Redis)

    如何使用scrapy连接到(SQLite,Mysql,Mongodb,Redis)数据库,并把爬取的数据存储到相应的数据库中. 一.SQLite 1.修改pipelines.py文件加入如下代码 # ...

  2. 数据库们~MySQL~MongoDB~Redis

    mysql基础 mysql进阶 python操作mysql MongoDB Redis

  3. 云服务器配置 docker java mysql mongodb redis nginx 环境

    磁盘挂载 fdisk -l #查看磁盘列表 mkfs.ext4 /dev/vdb #格式化磁盘 mount /dev/vdb /data #挂载磁盘在/data echo '/dev/vdb /dat ...

  4. Python交互数据库(Mysql | Mongodb | Redis)

    数据库 Mysql Mysql MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,后来被Sun公司收购,Sun公司后来又被Oracle公司收购,目前属于Oracle旗下产品 MyS ...

  5. linux中mysql,mongodb,redis,hbase数据库操作

    .实验内容与完成情况:(实验具体步骤和实验截图说明) (一) MySQL 数据库操作 学生表 Student Name English Math Computer zhangsan lisi 根据上面 ...

  6. 新Mac 开机启动MySQL/MongoDB/Redis 等服务

    在Mac上我们使用[homebrew]包管理工具(http://brew.sh/index_zh-cn.html)来安装和管理开发工具包,例如:mysql.php.redis.只需要一个命令 brew ...

  7. 一款软件同时管理MySQL,MongoDB数据库

    互联网应用开发日新月异,去年分布式应用都还大量使用springmvc+ zookeeper +dubbo,今年就被spring boot ,spring cloud微服务架构替换了,技术的更新换代太快 ...

  8. spring boot多数据源配置(mysql,redis,mongodb)实战

    使用Spring Boot Starter提升效率 虽然不同的starter实现起来各有差异,但是他们基本上都会使用到两个相同的内容:ConfigurationProperties和AutoConfi ...

  9. mongodb,redis,mysql的区别和具体应用场景

    一.MySQL 关系型数据库. 在不同的引擎上有不同 的存储方式. 查询语句是使用传统的sql语句,拥有较为成熟的体系,成熟度很高. 开源数据库的份额在不断增加,mysql的份额页在持续增长. 缺点就 ...

随机推荐

  1. Linux 新增一个用户命令 adduser

    这几天新增用户老是会用 useradd , 这条命令比较复杂,记录 adduser 这条超级简单的命令. Full name 最后和用户差不多,不然登录的时候不好辨别 附: 新增用户无法 sudo 请 ...

  2. Btrace的使用方法

    本文基于<深入理解Java虚拟机:JVM高级特性与最佳实践 第2版> 写在前面: Btrace有很多用法,比如说性能监视,连接泄露,内存泄漏,多线程竞争,而本文说的只是最基本的应用打印调用 ...

  3. Unity3D 新版粒子系统 (Shuriken)

    Shuriken粒子系统是继Unity3.5版本之后推出的新版粒子系统,它采用了模块化管理,个性化的粒子模块配合粒子曲线编辑器使用户更容易创作出各种兵分复杂的粒子效果. 创建一个粒子系统的方式有两种: ...

  4. java内存溢出怎么解决

    java.lang.OutOfMemoryError这个错误我相信大部分开发人员都有遇到过,产生该错误的原因大都出于以下原因:JVM内存过小.程序不严密,产生了过多的垃圾. 导致OutOfMemory ...

  5. mysql插入多行数据

    表结构如图:

  6. 【Debian】时间设置

    http://blog.linuxphp.org/archives/567/ http://www.dedecms.com/knowledge/servers/linux-bsd/2012/0819/ ...

  7. ztree获取选中节点时不能进入可视区域出现BUG如何解决

    zTree 是一个依靠 jQuery 实现的多功能 “树插件”.优异的性能.灵活的配置.多种功能的组合是 zTree 最大优点. zTree 的特点编辑 ● zTree v3.0 将核心代码按照功能进 ...

  8. 哪些工具可以在word中快速绘制图形

    在数学试卷.论文.电子教案等编写过程中,我们经常要作出数学图形或图像,若用Word自身携带的绘图工具绘制,多有不便.比如一些曲线的形状很难画得像,画到位,作图时修修改改,颇为费力,所以需要借助一些辅助 ...

  9. Django学习笔记第十一篇--关于session

    一.session和sessionid: sessionid是cookie的一个字段,sessionid一般如下: """请求报文""" & ...

  10. Android 获取当前应用的版本号和当前系统的版本号

    1.获取当前程序版本名 我们可以在AndroidManifest.xml中设置程序的版本号等,如android:versionName="1.0",那如果想在代码中获取这个版本号呢 ...