Python如何实现各种中间件的连接
短信预约 -IT技能 免费直播动态提醒
今天小编给大家分享一下Python如何实现各种中间件的连接的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
连接数据库
Redis连接
1、连接Redis单节点
import redis"""连接redis ConnectionPool 方式连接"""def connRedis(self): pool=redis.ConnectionPool(host='172.16.1.2',password='',db=2, port=6379) #按具体情况填写参数 r=redis.StrictRedis(connection_pool=pool) r.set("test_name","admin") print(r.get('test_name'))
2、连接Redis cluster集群
python 操作redis 集群 用redis模块不行,需要导入模块
#!/usr/bin/env python#coding:utf-8 from rediscluster import StrictRedisClusterimport sys def redis_cluster(): redis_nodes = [{'host':'192.168.1.2','port':6378}, {'host':'192.168.1.2','port':6380}, {'host':'192.168.1.2','port':6381}, {'host':'192.168.1.2','port':6382}, {'host':'192.168.1.2','port':6383}, {'host':'192.168.1.2','port':6384}, {'host':'192.168.1.2','port':6385} ] try: redisconn = StrictRedisCluster(startup_nodes=redis_nodes) except Exception,e: print "Connect Error!" sys.exit(1) redisconn.set('name','admin') print "name is: ", redisconn.get('name') redis_cluster()
3、连接Redis哨兵集群
#!/usr/bin/env python# -*- coding:utf-8 -*-import redisfrom redis.sentinel import Sentinel# 连接哨兵服务器(主机名也可以用域名)sentinel = Sentinel([('172.31.0.2', 5001), ('172.31.0.3', 5001), ('172.31.0.4', 5001), ('172.31.0.5', 5001) ], socket_timeout=0.5)# 获取主服务器地址master = sentinel.discover_master('mymaster')print(master)# 输出:('172.31.0.2', 5001)# 获取从服务器地址slave = sentinel.discover_slaves('mymaster')print(slave)# 输出:[('172.31.3', 5001), ('172.31.0.4', 5001), ('172.31.0.5', 5001)]# 获取主服务器进行写入master = sentinel.master_for('mymaster', socket_timeout=0.5, password='redis_auth_pass', db=15)w_ret = master.set('foo', 'bar')# 输出:True# # 获取从服务器进行读取(默认是round-roubin)slave = sentinel.slave_for('mymaster', socket_timeout=0.5, password='redis_auth_pass', db=15)r_ret = slave.get('foo')print(r_ret)# # 输出:bar
以上就是“Python如何实现各种中间件的连接”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网行业资讯频道。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341