好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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 StrictRedisCluster
import 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 redis
from 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实现各种中间件的连接实现的详细内容,更多关于Python连接中间件的资料请关注其它相关文章!

查看更多关于Python实现各种中间件的连接的详细内容...

  阅读:48次