python数据库操作——NoSQL数据库之连接MongoDB、Redis数据库

python数据库操作——NoSQL数据库之连接MongoDB、Redis数据库


  hello!我是wakeyo_J,每天一个konwledge point,一起学python,让技术无限发散。


  随着大数据的兴起,NoSQL数据库为大数据我呢提的解决提供了全新的数据库技术支持。通过python语言与NoSQL技术的结合,给科学计算、大数据分析、人工智能技术的应用提供了一套成熟的解决思路。

1. NoSQL数据库支持清单

python官网提供了可以支持的部分NoSQL数据库产品清单,如下所示

NoSQL数据库产品数据库下载地址
MetaKithttp://www.equi4.com/metakit/
ZODBhttP://pypi.python.org/pypi/ZODB3
BerkeleyDBhttp://www.jcea.es/programaction/pybsddb.htm
KirbyBasehttp://www.netpromi.com/kirbybase_python.html
Durushttp://wiki.python.org/moin/Durus
buzhughttp://wiki.python.org/moin/buzhug
Neo4jhttp://neo4j.com/
SnakeSQLhttp://www.pythonweb.org/projects/snakesql/

  其实,上述清单很不全面,一些著名的NoSQL数据库产品都没有提及,大家可以根据不同的NoSQL数据库产品,通过网上查找python语言对应的数据库驱动程序接口软件包。一般优秀的NoSQL产品官网上都会明确的罗列出数据库驱动程序所支持的编程语言的种类。

2. 连接MongoDB

  MongoDB是基于文档数据处理的一款优秀的NoSQL数据库产品。要实现python程序与MongoDB数据库连接,需要安装MongoDB数据库,然后安装pymongo数据库驱动程序,最后通过python程序与数据库进行数据交互操作。

2.1 MongoDB数据库安装

  MongoDB官网提供了详细的安装操作教程,https://docs.mongodb.com/manual/installation/
或者可以参考博客:https://blog.csdn.net/weixin_33446857/article/details/79889245

  安装完成MongoDB数据库后,需要启动数据库服务(mongod)才能正式被使用。一次性启动可以采用如下命令:

C:\User\win>cd /d d:\mongodb\data\bin
d:\mongodb\data\bin>mongod-dbpath “d:\mongodb\data\db” #输入时注意参数之间的一个空格

2.2 pymongo数据库驱动程序安装

  在计算机联网情况下,采用pip install pymongo命令进行安装。
在这里插入图片描述

2.3 python程序与MongoDB数据库的数据操作

  1. 连接MongoDB数据库,插入记录、查找记录
import pymongo
from  pymongo.mongo_client import MongoClient         #导入mongodb客户端服务模块
import pymongo.errors                                 #导入出错模块

T_fish=set()

try:
    mongoClient = MongoClient("localhost",27017)       #建立mongodb数据库客户端连接通道
    mongoDatabase = mongoClient.goods                  #若没有goods数据库则重新建立新空库,否则建立与goods数据库的连接

    print("数据库连接成功!!")
    mongoCollection = mongoDatabase.T_fish             #若没有T_fish集合则建立空集合,否则建立与T_fish集合的连接
    mongoCollection.remove()                            #一处该集合大的所有记录
    mongoCollection.insert_many([                       #用insert_many()方法添加三行数据
        {"_id":"1","data":"2018年3月28日","name":"黑鱼","nums":"10","price":"28.3","Explain":"Tome"},
        {"_id": "2", "data": "2018年5月28日", "name": "鲫鱼", "nums": "20", "price": "10", "Explain": "jerry"},
        {"_id": "3", "data": "2018年6月28日", "name": "鲤鱼", "nums": "30", "price": "8", "Explain": "Tim"}
    ])
    for row in mongoCollection.find():
        print(row)
except pymongo.errors.ProtocolError as e:
    print("操作MongoDB过程出错:",e)

结果:
在这里插入图片描述

  1. 修改记录、删除记录
import pymongo
from  pymongo.mongo_client import MongoClient
import pymongo.errors

T_fish=set()

try:
    mongoClient = MongoClient("localhost",27017)
    mongoDatabase = mongoClient.goods

    print("数据库连接成功!!")
    mongoCollection = mongoDatabase.T_fish
    mongoCollection.update({"_id":"1"},{"$set":{"nums":"20"}})      #修改一条数据记录
    mongoCollection.delete_one({'_id':"3"})                         #删除一条数据记录
    for row in mongoCollection.find():
        print(row)
except pymongo.errors.ProtocolError as e:
    print("操作MongoDB过程出错:",e)

结果:
在这里插入图片描述
  想要全面了解pymongo数据库驱动程序的使用,可以参考:http://api.mongodb.com/python/current/api/pymongo/collection.html
更多关于mongodb的操作可参考:https://blog.csdn.net/liuzuoping/article/details/100116687

3. 连接Redis

  Redis主要基于计算机内存进行非关系型数据库的高效处理,在NoSQL数据库产品排行榜上居于前列。

3.1 安装Redis数据库

  Redis数据库下载地址:https://redis.io/download,安装过程参考:https://www.cnblogs.com/skmobi/p/11696620.html

3.2 安装Redis数据库驱动程序

  Redis数据库驱动程序下载地址:https://pypi.python.org/pypi/redis/2.10.5,完成redis-py-master.zip下载并解压后,可以通过如下操作实现数据库驱动程序的安装。
在这里插入图片描述

3.3 python程序连接Redis数据库

  1. 连接Redis数据库
import redis
rdb = redis.Redis(host="127.0.0.1",port=6379,db=0)  #连接Redis0号数据库
rdb.set("name","TOMCAT")                            #建立一个键为“name"值为TOMCAT的字符串
print(rdb.get("name"))                              #读取字符串并打印
rdb.shutdown()

结果:
在这里插入图片描述

  1. 用连接池方式连接Redis数据库
      当大规模访问Redis数据库时,单独一个个建立数据库连接,需要产生很大内存空间消耗,影响数据库的 运行及响应速度。为此,引入了数据库连接池,通过在内存共享连接资源避免内存消耗的问题。
      Redis数据库启动器,使用connection pool来管理对一个redis server的所有连接,避免每次建立、释放连接的开销,这就可以实现多个Redis实例共享一个连接池。
import redis
pool = redis.ConnectionPool(host="127.0.0.1",port=6379)
rdb = redis.Redis(connection_pool=pool)
rdb.set("name","TOMCAT")
print(rdb.get("name"))
rdb.shutdown()

结果:
在这里插入图片描述
更多关于python对于redis的操作可参考:https://blog.csdn.net/qq_37289115/article/details/106353254


总结

  本文属于作者原创,转载请注明出处,不足之处,希望大家能过给予宝贵的意见,如有侵权,请私信。每天一个knowledge point,一起学python,让技术无限发散

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Python独角兽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值