python web 非关系型数据库存储MongoDB Redis

MongoDB是由C++语言编写的非关系型数据库,基于分布式文件存储的开源数据库系统,存储形式类似于json对象,字段值可以包含其他的文档,数组以及文档数据

首先要连接数据库,给定数据库的名字,然后对数据库进行操作

import pymongo
#连接数据库
client=pymongo.MongoClient(host='localhost',port=27017)
#指定数据库名称
db=client.test
#给定表名称,没有会自建
collection=db.students
student={
    'id':'20170101',
    'name':'Jordan',
    'age':20,
    'gender':'male'
}
result=collection.insert_one(student)
print(result)

student1={
    'id':'20170101',
    'name':'Jordan',
    'age':20,
    'gender':'male'
}
student2={
    'id':'20170202',
    'name':'Mike',
    'age':21,
    'gender':'male'
}
result=collection.insert_many([student1,student2])
print(result)
#查询
result=collection.find_one({'name':'Mike'})
print(type(result))
print(result)
results=collection.find({'age':20})
print(results)
for result in results:
    print(result)
result=collection.find({'age':{'$gt':20}})
print(result)
#计数
count=collection.find().count()
print(count)
count=collection.find({'age':20}).count()
print(count)
#排序
results=collection.find().sort('name',pymongo.ASCENDING)
print([result['name'] for result in results ])
#偏移
results=collection.find().sort('name',pymongo.ASCENDING).skip(2)
print([result['name'] for result in results ])
#更新
condition={'name':'Mike'}
student=collection.find_one(condition)
student['age']=26
result=collection.update(condition,student)
print(result)
#影响的条数
condition={'age':{'$gt':25}}
result=collection.update_one(condition,{'$inc':{'age':10}})
print(result)
#删除
result=collection.delete_one({'name':'Jordan'})
print(result)

在 MongoDB 中,每条数据其实都有一个 _id 属性来唯一标识,如果没有显式指明 _id,MongoDB 会自动产生一个 ObjectId 类型的 _id 属性。insert() 方法会在执行后返回的 _id 值。

Redis的简单使用:

from redis import StrictRedis,ConnectionPool
pool=ConnectionPool(host='localhost',port=6379,db=0,password='1234')
redis=StrictRedis(host='localhost',port=6379,db=1,password='1234')
redis1=StrictRedis(connection_pool=pool)
redis.set('name','LX')
#print(redis.get('name'))
redis1.set('name','Ada')
#print(redis1.get('name'))
# print(redis.exists('LX'))
# print(redis.exists('Ada'))
# print(redis.type('LX'))
print(redis.keys(b'^A.*'))
# print(redis.randomkey())
# redis.rename('name','nickname')
# print(redis.dbsize())
# redis.expire('name',2)
# redis.move('name',0)
# print(redis.get('name'))
# print(redis.get('nickname'))

猜你喜欢

转载自blog.csdn.net/qq_37312720/article/details/83140958