示例#1
0
def redis_cluster_check():
    rc = StrictRedisCluster(startup_nodes=startup_nodes, password=redis_password, readonly_mode=True)
    cluster_nodes = rc.cluster_nodes()
    for i in cluster_nodes:
        if i['link-state'] == 'connected':
            link_state = 1
        else:
            link_state = 0
        if 'master' in i['flags']:
            redis_node_stat.labels(host=i['host'], port=i['port'], role='master',hostname=hostname).set(link_state)
            slave_stat = 0
            for j in cluster_nodes:
                if i['id'] == j['master'] and i['host'] != j['host']:
                    slave_stat = 1
                else:
                    pass
                redis_masternode_slavestat.labels(host=i['host'], port=i['port'],hostname=hostname).set(slave_stat)
        else:
            redis_node_stat.labels(host=i['host'], port=i['port'], role='slave',hostname=hostname).set(link_state)
示例#2
0
import random
import json
import operator
from rediscluster import StrictRedisCluster


redis_node = [
    {"host": "192.168.10.183", "port": "6379"}
]
redis_db = StrictRedisCluster(startup_nodes=redis_node, max_connections=32, decode_responses=True)
pipe = redis_db.pipeline(transaction=False)

rcm = [i for i in redis_db.cluster_nodes() if 'master' in i['flags'] and i['link-state'] == 'connected']
nodes = [i for i in sorted(rcm, key=operator.itemgetter('id'))]
print '========================='
print len(nodes)



rcm = [i for i in redis_db.cluster_nodes() if 'slave' in i['flags'] and i['link-state'] == 'connected']
node = random.choice(rcm)

value = pipe.get("foo")
print "=================" + str(value)