本文主要描述了使用python工具对redis和mongodb进行数据操做 。
目录
1. Python 操作 Redis
1.1 redis连接
from redis import Redis
'''
host: redis服务端ip
port: redis服务端端口
db: 仓库号
'''
redis_obj = Redis(host='localhost', port=6379, db=0)
1.2 添加数据
使用
set
方法添加键值对,如果添加成功返回True
,否则返回False
from redis import Redis
if __name__ == "__main__":
try:
host port db等参数是可选项
redis_obj = Redis()
添加数据
result = redis_obj.set('name', '小明')
如果添加成功则返回True
print(result)
except Exception as e:
print(e)
1.3 获取数据
使用
get
方法获取数据,如果键存在返回对应的值,否则返回None
from redis import Redis
if __name__ == "__main__":
try:
host port db等参数是可选项
redis_obj = Redis()
获取数据
result = redis_obj.get('name')
print(result)
except Exception as e:
print(e)
1.4 修改数据
使用
set
方法进行修改,如果键存在则进行修改,否则创建新数据
from redis import Redis
if __name__ == "__main__":
try:
host port db等参数是可选项
redis_obj = Redis()
数据修改
redis_obj.set('name', '小强')
result = redis_obj.get('name')
print(result)
except Exception as e:
print(e)
1.5 删除数据
使用
delete
方法删除键值对,如果删除成功则返回受影响的键的数量,否则返回0
from redis import Redis
if __name__ == "__main__":
try:
host port db等参数是可选项
redis_obj = Redis()
result = redis_obj.delete('name')
print(result)
except Exception as e:
print(e)
1.6 获取键
使用
keys
方法获取键,可以使用正则表达式
from redis import Redis
if __name__ == "__main__":
try:
host port db等参数是可选项
redis_obj = Redis()
result = redis_obj.keys()
print(result)
except Exception as e:
print(e)
2.Python 操作 MongoDB
2.1 连接
导入模块
from pymongo import MongoClient
实例化client建立连接并指定集合
client = MongoClient(host='127.0.0.1', port=27017)
"""
mongo_database 理解为连接的数据库名 database
db_tables 理解为该数据库下的数据表 tables
"""
collection = client['mongo_data_info']['db_tables']
2.2 添加数据
insert_one : 插入一条数据 数据类型为{}格式
inser_many :插入多条数据 数据类型为[{},{},{},{}]
插入一条数据 使用insert_one 数据类型为dict格式
res = collection.insert_one({"name": "小明", "age": 10, "gender":'男'})
print(res)
插入多条数据 使用insert_many 数据类型为list+dict 格式
data_list = [{"name": "小明", "age": 10, "gender":'男'},
{"name": "小李", "age": 11, "gender":'男'},
{"name": "小强", "age": 9, "gender":'男'},
]
collection.insert_many(data_list)
2.3 获取数据
find_one:查询一条数据
find:查询所有数据
返回的都是一个游标对象,需要对游标对象进行列表类型转换
查询一条数据
r_1 = colltction.find_one({"name": "小明"})
print(r_1)
查询所有记录
r_2 = collection.find({"age": 10})
当前返回的是一个游标对象
print(r_2)
for i in r_2:
print(i)
对游标对象进行列表类型转换
print(list(r_1))
2.4 修改数据
update_one:更新一条
update_many:更新全部数据
更新一条数据
collection.update_one({"name": "小明"}, {"$set": {"name": "小卓"}})
更新全部数据
collection.update_many({"age": 11}, {"$set": {"age": 12}})
2.5 删除数据
delete_one:删除一条
delete_many:删除多条
删除一条数据
collection.delete_one({"name": "小卓"})
删除全部数据
collection.delete_many({"age": 11})