Python实现各种中间件的连接

 更新时间:2022年05月25日 17:15:29   作者:林海峰4573  
这篇文章主要为大家介绍了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切片作为占位符使用实例讲解

    python切片作为占位符使用实例讲解

    在本篇内容里小编给大家分享的是一篇关于python切片作为占位符使用实例讲解内容,有兴趣的朋友们可以学习参考下。
    2021-02-02
  • Python读取表格类型文件代码实例

    Python读取表格类型文件代码实例

    这篇文章主要介绍了Python读取表格类型文件代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • Python网络安全格式字符串漏洞任意地址覆盖大数字详解

    Python网络安全格式字符串漏洞任意地址覆盖大数字详解

    这篇文章主要介绍了Python网络安全格式字符串漏洞任意地址覆盖大数字的示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2021-10-10
  • django之自定义软删除Model的方法

    django之自定义软删除Model的方法

    这篇文章主要介绍了django之自定义软删除Model的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • Qt实现炫酷启动图动态进度条效果

    Qt实现炫酷启动图动态进度条效果

    最近接到一个新需求,让做一个动效进度条。刚接手这个项目真的不知所措,后来慢慢理清思路,问题迎刃而解,下面小编通过本文给大家带来了Qt实现炫酷启动图动态进度条效果,感兴趣的朋友一起看看吧
    2021-11-11
  • Python实现二维数组按照某行或列排序的方法【numpy lexsort】

    Python实现二维数组按照某行或列排序的方法【numpy lexsort】

    这篇文章主要介绍了Python实现二维数组按照某行或列排序的方法,结合具体实例形式分析了Python使用numpy模块的lexsort方法针对二维数组进行排序的常用操作技巧,需要的朋友可以参考下
    2017-09-09
  • PyQt5学习之QThread类的使用详解

    PyQt5学习之QThread类的使用详解

    QThread是Qt线程类中最核心的底层类。要使用QThrea开始一个线程,可以创建它的一个子类,然后覆盖其QThread.run()函数。这篇文章就来和大家聊聊QThread类的使用,感兴趣的可以学习一下
    2022-12-12
  • 详解Django中Request对象的相关用法

    详解Django中Request对象的相关用法

    这篇文章主要介绍了详解Django中Request对象的相关用法,Django是Python重多人气框架中最著名的一个,需要的朋友可以参考下
    2015-07-07
  • 如何实现删除numpy.array中的行或列

    如何实现删除numpy.array中的行或列

    如何实现删除numpy.array中的行或列?今天小编就为大家分享一篇对删除numpy.array中行或列的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • 解决Python print输出不换行没空格的问题

    解决Python print输出不换行没空格的问题

    今天小编就为大家分享一篇解决Python print输出不换行没空格的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-11-11

最新评论