📅  最后修改于: 2023-12-03 15:33:57.581000             🧑  作者: Mango
NoSQL是现代互联网应用程序的主要数据库类型。Python是一种强大的编程语言,提供了许多优秀的NoSQL数据库接口和驱动程序。本文将介绍Python中流行的NoSQL数据库和它们的接口。
MongoDB是流行的文档数据库,它存储类似于JSON文档的数据。Python提供了pymongo驱动程序作为与MongoDB交互的标准工具。以下是pymongo的基本用法:
import pymongo
# 连接到MongoDB数据库
client = pymongo.MongoClient('mongodb://localhost:27017/')
# 选择数据库
db = client['mydatabase']
# 选择集合
collection = db['mycollection']
# 插入文档
doc = {'name': '王二麻子', 'age': 35}
result = collection.insert_one(doc)
print(result.inserted_id)
# 查询文档
result = collection.find_one({'name': '王二麻子'})
print(result)
Redis是流行的键值存储数据库,它可以用于缓存和持久存储。Python提供了redis模块作为与Redis交互的标准工具。以下是redis模块的基本用法:
import redis
# 连接到Redis数据库
r = redis.Redis(host='localhost', port=6379, db=0)
# 设置键值对
r.set('name', '王二麻子')
print(r.get('name'))
# 存储列表
r.rpush('mylist', 'a', 'b', 'c')
print(r.lrange('mylist', 0, -1))
# 存储集合
r.sadd('myset', 'a', 'b', 'c')
print(r.smembers('myset'))
Cassandra是流行的列式数据库,它可以分布式地存储大量数据。Python提供了cassandra驱动程序作为与Cassandra交互的标准工具。以下是cassandra驱动程序的基本用法:
from cassandra.cluster import Cluster
# 连接到Cassandra集群
cluster = Cluster(['localhost'])
session = cluster.connect()
# 创建键空间和表
session.execute("""
CREATE KEYSPACE mykeyspace
WITH replication = {'class': 'SimpleStrategy', 'replication_factor': '3'}
""")
session.execute("""
CREATE TABLE mykeyspace.mycolumnfamily (
id uuid PRIMARY KEY,
name text
)
""")
# 插入行
session.execute("""
INSERT INTO mykeyspace.mycolumnfamily (id, name)
VALUES (uuid(), '王二麻子')
""")
# 查询行
rows = session.execute("""
SELECT * FROM mykeyspace.mycolumnfamily
WHERE name='王二麻子'
""")
for row in rows:
print(row.name)
总结
Python提供了许多出色的NoSQL数据库接口和驱动程序。 MongoDB,Redis,Cassandra是三种非常流行的NoSQL数据库。使用Python的这些数据库驱动程序,我们可以方便地与不同类型的NoSQL数据库进行交互和管理。