python数据库操作——NoSQL数据库之连接MongoDB、Redis数据库
hello!我是wakeyo_J,每天一个konwledge point,一起学python,让技术无限发散。
NoSQL数据库之连接MongoDB、Redis数据库
随着大数据的兴起,NoSQL数据库为大数据我呢提的解决提供了全新的数据库技术支持。通过python语言与NoSQL技术的结合,给科学计算、大数据分析、人工智能技术的应用提供了一套成熟的解决思路。
1. NoSQL数据库支持清单
python官网提供了可以支持的部分NoSQL数据库产品清单,如下所示
NoSQL数据库产品 | 数据库下载地址 |
---|---|
MetaKit | http://www.equi4.com/metakit/ |
ZODB | httP://pypi.python.org/pypi/ZODB3 |
BerkeleyDB | http://www.jcea.es/programaction/pybsddb.htm |
KirbyBase | http://www.netpromi.com/kirbybase_python.html |
Durus | http://wiki.python.org/moin/Durus |
buzhug | http://wiki.python.org/moin/buzhug |
Neo4j | http://neo4j.com/ |
SnakeSQL | http://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数据库的数据操作
- 连接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)
结果:
- 修改记录、删除记录
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数据库
- 连接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()
结果:
- 用连接池方式连接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,让技术无限发散