检查Python 的redis库
pip3 list | grep redis
redis 3.5.3
redis-py-cluster 2.1.0
连接Redis集群示例:2.1.0的版本没有StrictRedisCluster
#!/home/deploy/.pyenv/shims/python3
#coding = utf-8
from rediscluster import RedisCluster
import random
def random_str(digits=True, lowercase=True, uppercase=True, symbol=True, slen=10):
seed = ''
seed = seed + '1234567890' if digits else seed+''
seed = seed + 'abcdefghijklmnopqrstuvwxyz' if lowercase else seed + ''
seed = seed + 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' if uppercase else seed + ''
seed = seed + '!@#$%^&*()_+=-' if symbol else seed + ''
if len(seed)==0:
return None
sa = []
for i in range(slen):
sa.append(random.choice(seed))
return ''.join(sa)
class MyRedisCluster(object):
def __init__(self, startup_nodes):
self.startup_nodes = startup_nodes
def connect(self):
"""
"""
try:
redisconn = RedisCluster(startup_nodes=self.startup_nodes, decode_responses=True)
return redisconn
except Exception as e:
print(e)
print("连接redis 集群失败")
return None
startup_nodes = [{"host":"10.0.244.100","port":"7000"},{"host":"10.0.247.159","port":"7000"},{"host":"10.0.246.182","port":"7000"}]
if __name__ == "__main__":
conn = MyRedisCluster(startup_nodes).connect()
print(random_str())
p = conn.pipeline()
p.set('ert', 'tre')
p.set('wer', 'rew')
print(p.execute())
print(conn.get('ert'))
print(conn.get('wer'))