Python實現(xiàn)各種中間件的連接
更新時間:2022年05月25日 17:15:29 作者:林海峰4573
這篇文章主要為大家介紹了Python實現(xiàn)各種中間件的連接實現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
連接數(shù)據(jù)庫
Redis連接
1、連接Redis單節(jié)點
import redis
"""
連接redis ConnectionPool 方式連接
"""
def connRedis(self):
? ? pool=redis.ConnectionPool(host='172.16.1.2',password='',db=2, port=6379) #按具體情況填寫參數(shù)
? ? 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
# # 獲取從服務器進行讀?。J是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實現(xiàn)各種中間件的連接實現(xiàn)的詳細內容,更多關于Python連接中間件的資料請關注腳本之家其它相關文章!
相關文章
Python pygorithm模塊用法示例【常見算法測試】
這篇文章主要介紹了Python pygorithm模塊用法,結合實例形式分析了pygorithm模塊的功能、安裝及針對常見算法的相關使用操作技巧,需要的朋友可以參考下2018-08-08
Python3查找列表中重復元素的個數(shù)的3種方法詳解
這篇文章主要介紹了Python3查找列表中重復元素的個數(shù)方法詳解,需要的朋友可以參考下2020-02-02
Java?超詳細講解核心類Spring?JdbcTemplate
JdbcTemplate?JdbcTemplate是Spring?JDBC核心包(core)中的核心類,它可以通過配置文件、注解、Java?配置類等形式獲取數(shù)據(jù)庫的相關信息,實現(xiàn)了對JDBC開發(fā)過程中的驅動加載、連接的開啟和關閉、SQL語句的創(chuàng)建與執(zhí)行、異常處理、事務處理、數(shù)據(jù)類型轉換等操作的封裝2022-04-04

