python集成mongo、mysql、redis、oss、apollo、mq实用简单案例
由于工作原因,需要临时使用python做一些业务,纠结一段时间配置环境,现在主要将
python集成mongo
python集成mysql以及连接池
python集成redis以及连接池
python集成oss
python集成apollo
python集成rocketmq
在这里做一个分享,纪念一下 顺便供需要用的同学少走弯路
以下的例子主要是在mac环境下基于python3.6使用,不过使用python3.7也是一样的只有微小差异,会在特殊之处添加注释
1、python集成mongo
1.1、python连接mongo环境准备
pip3 install pymongo
1.2、python连接mongo代码操作
#encoding: utf-8
from pymongo import MongoClient
#端口这里python3.6这里需要加int().python3.7这里不需要
client = MongoClient('mongo地址', int('mongo端口'))
db = client['具体库名'] # 进入数据库
db.authenticate('用户名', '密码')
#刚才获取到了连接对象 赋值给db,接下来可以操作
item = db['tb_movie_info'].find({"info_id" : "YS0000001"})
for rows in item:
print(rows)
2、python集成mysql
2.1、python连接mysql环境准备
pip3 install PyMySQL
pip3 install DBUtils
2.2、python连接mysql包括连接池代码操作
import pymysql
from DBUtils.PooledDB import PooledDB
pool = PooledDB(
creator=pymysql,
mincached='最小连接数',
host='地址',
user='用户名',
passwd='密码',
db='数据库',
#端口这里python3.6这里需要加int().python3.7这里不需要
port=int('端口'),
#字符集这里需要用utf8 不能用utf-8
charset='字符集'
)
conn = pool.connection(shareable=False)
#刚才获取到了连接对象 赋值给conn,接下来可以操作
#print(dir())
#print(__file__)
cursor =conn.cursor() #获取一个光标
sql ='SELECT name from tb_common_info'
cursor.execute(sql)
results = cursor.fetchall() #获取查询的所有记录
print("name")
for row in results :
name = row[0]
print(name)
#conn.commit()
cursor.close()
conn.close()
3、python集成redis
3.1、python连接redis环境准备
pip3 install redis
pip3 install python-redis
3.2、python连接redis以及连接池代码操作
import redis
pool = redis.ConnectionPool(
host='地址',
port='端口',
max_connections='连接数辆',
db='db',
password='密码'
)
conn = redis.Redis(connection_pool=pool)
#刚才获取到了连接对象 赋值给conn,接下来可以操作
conn.set('name','111') #存储值
print(conn.get('name').decode('utf-8'))#获取值
4、python集成oss
4.1、python连接oss环境准备
pip3 install oss2(包较大 容易超时)
4.2、python连接oss代码操作
import oss2
auth = oss2.Auth('accessKey', 'accessKeySecret')
bucket = oss2.Bucket(auth, 'url', 'bucket')
#下面有下载和上传两个案例
#下载文件(下载路径就要指定好文件名,可以不一样,但不影响文件内容)
#第一个参数是oss路径,第二个参数是本地文件路径
#get_result=bucket.get_object_to_file('dev/vision/image/a.png', '/Users/Documents/patronli/a.png')
#if get_result.status == 200:
# print("get sucess")
#上传文件(下载路径就要指定好文件名,可以不一样,但不影响文件内容)
#第一个参数是oss路径,第二个参数是本地文件路径
put_result = bucket.put_object_from_file('dev/vision/python/a.jpg', '/Users/Documents/patronli/a.png')
if put_result.status == 200:
print('put success')
5、python集成apollo
5.1、python连接apollo环境准备
pip3 install pyapollos
5.2、python连接apollo代码操作
from pyapollos import ApolloClient
#config_server_url 我一直尝试用域名的方式不成功,所以这里暂时用ip+端口
apollo = ApolloClient(app_id='os-operation-platform',cluster='cluster',config_server_url='地址+端口')
print(apollo.get_value('spider.mysql.datasource.url', namespace='application'))
6、python集成rocketmq(这个是阿里云的案例)
6.1、python连接rocketmq环境准备
pip3 install rocketmq-client-python
6.2、python连接rocketmq代码操作
6.2.1、consumer.py
from rocketmq.client import PushConsumer, ConsumeStatus
import time
# 发送消息时请设置您在阿里云 RocketMQ 控制台上申请的 Topic
topic = 'topic'
# 您在阿里云 RocketMQ 控制台上申请的 GID
gid = 'groupId'
# 设置 TCP 协议接入点,从阿里云 RocketMQ 控制台的实例详情页面获取
name_srv = 'name_srv'
# 您在阿里云账号管理控制台中创建的 AccessKeyId,用于身份认证
ak = 'accessKey'
# 您在阿里云账号管理控制台中创建的 AccessKeySecret,用于身份认证
sk = 'secretKey'
# 用户渠道,默认值为:ALIYUN
channel = ALIYUN
def callback(msg):
print(msg.id, msg.body)
# 消费成功回复 CONSUME_SUCCESS,消费失败回复 RECONSUME_LATER。此时会触发消费重试
return ConsumeStatus.CONSUME_SUCCESS
def start_consume_message():
consumer = PushConsumer(gid)
consumer.set_name_server_address(name_srv)
consumer.set_session_credentials(ak, sk, channel)
consumer.subscribe(topic, callback)
# ********************************************
# 1. 确保订阅关系的设置在启动之前完成
# 2. 确保相同 GID 下面的消费者的订阅关系一致
# *********************************************
print ('start consume message')
consumer.start()
# 请保持消费者一直处于运行状态
while True:
time.sleep(3600)
if __name__ == '__main__':
start_consume_message()
6.2.2、producer.py
from rocketmq.client import Producer, Message
from conf import config
# 发送消息时请设置您在阿里云 RocketMQ 控制台上申请的 Topic
topic ='topic'
# 您在阿里云 RocketMQ 控制台上申请的 GID
gid ='groupId'
# 设置 TCP 协议接入点,从阿里云 RocketMQ 控制台的实例详情页面获取
name_srv = 'name_srv'
# 您在阿里云账号管理控制台中创建的 AccessKeyId,用于身份认证
ak ='accessKey'
# 您在阿里云账号管理控制台中创建的 AccessKeySecret,用于身份认证
sk ='secretKey'
# 用户渠道,默认值为:ALIYUN
channel = ALIYUN
def create_message():
msg = Message(topic)
msg.set_keys('YourKey')
msg.set_tags('YourTags')
msg.set_body('11111')
return msg
def send_message_sync(count):
producer = Producer(gid)
producer.set_name_server_address(name_srv)
producer.set_session_credentials(ak,sk,channel)
producer.start()
for n in range(count):
msg = create_message()
ret = producer.send_sync(msg)
print ('send message status: ' + str(ret.status) + ' msgId: ' + ret.msg_id)
print ('send sync message done')
producer.shutdown()
producer.destroy()
if __name__ == '__main__':
send_message_sync(10)
分享到:
相关推荐
在现代Web开发中,MySQL、MongoDB和Redis扮演着不同的角色,而Python作为常用的数据处理和编程语言,与这些数据库有着紧密的结合。 MySQL是一款关系型数据库管理系统(RDBMS),基于SQL标准,广泛应用于各种规模的...
egg+vue+mysql+mongo+redis+权限系统demo,演示请点链接https://blog.csdn.net/xuelang532777032/article/details/118380179
在IT行业中,数据库管理和服务器配置是核心技术之一,而MongoDB、MySQL、Nginx、Redis以及Zookeeper在这些领域中都有着重要地位。这些技术在不同的场景下各有所长,掌握它们对于开发者和运维人员来说至关重要。以下...
《PyPI官网下载 | dbcli_mongo_redis-0.3.5.tar.gz——探索Python数据库交互新维度》 在Python编程领域,PyPI(Python Package Index)是开发者们获取和分享开源软件包的重要平台。本资源,"dbcli_mongo_redis-...
**Python-Mongo同步异步MongoDB ODM** 在Python中,MongoDB Object Data Mapping (ODM) 是一种将数据模型转换为MongoDB文档的技术,它允许开发者以面向对象的方式操作数据库,提高了代码的可读性和可维护性。本文将...
mysql redis rabbit kafka zookeeper mongo 镜像
读书笔记:idea编码工程包括java、scala、mongo、redis、spark等
基于docker的开发者集成环境 (docker,nodejs,php,nginx,mongo,mysql,redis等) 最近更新: 2019-08-31 redis管理工具PhpRedisAdmin 2019-08-28 mysql管理工具phpmyadmin 2019-08-26 增加php7.1、php7.3、...
1.python 类的定义 继承 线程的使用 2.python对数据库的访问,包括mysql和mongo 3.线程池的使用 4.异常的高级使用,包括代码定位
使用docker容器快速构建java开发环境化: ...一键部署好 redis mongo mysql zookeeper oracle tomcat 常用软件.redis/oracle 带验证方式. 前提准备 工具: 容器引擎:docker 容器编排工具:docker-compose
爬虫python入门 scrapyredismongodb 基于Python+scrapy+redis的分布式爬虫实现框架 ...redis_mongo.py 主要是从redis里面读url,解析数据保存到mongodb (拓展到其他机器,都是从redis里面读url)
本项目标题提到的"springboot之集成mybatis mongo shiro druid redis jsp"是一个整合了多个组件和技术的SpringBoot应用示例,下面我们将详细探讨这些技术及其在项目中的作用。 1. **MyBatis**:MyBatis是一个优秀的...
**基于Python+Scrapy+Redis的分布式爬虫实现框架** 在现代互联网数据挖掘领域,爬虫技术扮演着至关重要的角色。Python作为一门易学且功能强大的编程语言,常常被用作构建爬虫的首选工具。而Scrapy是一个高级的...
基于Python+scrapy+redis的分布式爬虫实现框架 #project start 运行run.py #scrapy_news.py 主要功能是抓取种子url,保存到redis #redis_mongo.py 主要是从redis里面读url,解析数据保存到mongodb (拓展到其他...
其中,Jedis是用于操作Redis的Java客户端,Mongo Java Driver是连接MongoDB的Java驱动程序,而mysql-connector-java则是连接MySQL数据库的Java驱动。下面我们将详细探讨这三个组件及其在大数据技术中的应用。 首先...
关于MongoDB的小程序,操作数据库,mysql。 插入数据。
docker容器创建php5.6
一个带有mongo,mongoose和Redis的快递服务器的简单示例。 有关更多信息,请参见我的博客文章: : 安装 git clone https://github.com/haimrait/node-redis-mongo.git cd node-redis-mongo docker-compose build ...
本项目是一款基于Vue、Python和Mongo的区块链众筹移动端H5+后台设计源码,包含274个文件,涵盖60个Vue组件、24个JavaScript文件、21个Python后端代码、12个JSON配置、11个Markdown文档等。该系统具有里程碑式的众筹...
MongoDB 雷迪斯MySQL整合测试摩卡咖啡柴超级测试要求节点> = 12 npm> = 6 mongodb> = 4.0 打字稿> = 3.0安装首先,使用安装和generator-nest-js-boilerplate(假设您已经预装了 )。 npm install -g yon