Ich möchte das folgende Szenario auf Redis mit Python durchführen.Wie führe ich einen Befehl im Redis-Cluster-Modus mit Python aus?
Verwenden von Befehlszeile: 1) redis-cli -c 2) redis_prompt >> bekommen some_string
Ich versuchte redis und rediscluster Module verwenden, aber ohne Glück. Im Folgenden sind die Codes, die ich versucht:
1)
r = redis.Redis(host='123.123.123.123', port=6379, db=0)
r.get('some srting')
den folgenden Fehler Got:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python27\lib\site-packages\redis\client.py", line 880, in get
return self.execute_command('GET', name)
File "C:\Python27\lib\site-packages\redis\client.py", line 573, in execute_command
return self.parse_response(connection, command_name, **options)
File "C:\Python27\lib\site-packages\redis\client.py", line 585, in parse_response
response = connection.read_response()
File "C:\Python27\lib\site-packages\redis\connection.py", line 582, in read_response
raise response
redis.exceptions.ResponseError: MOVED 9442 172.16.176.36:6380
2)
from rediscluster import StrictRedisCluster
startup_nodes = [{"host": "123.123.123.123", "port": "7000"}]
rc_readonly = StrictRedisCluster(startup_nodes=startup_nodes, decode_responses=True, readonly_mode=True)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python27\lib\site-packages\rediscluster\client.py", line 181, in __init__
**kwargs
File "C:\Python27\lib\site-packages\rediscluster\connection.py", line 353, in __init__
**connection_kwargs)
File "C:\Python27\lib\site-packages\rediscluster\connection.py", line 141, in __init__
self.nodes.initialize()
File "C:\Python27\lib\site-packages\rediscluster\nodemanager.py", line 240, in initialize
raise RedisClusterException("Redis Cluster cannot be connected. Please provide at least one reachable node.")
rediscluster.exceptions.RedisClusterException: Redis Cluster cannot be connected. Please provide at least one reachable node.
Jede Hilfe wäre toll.
Der Port ist 6379 (in Abschnitt 1)? oder 7000 (in Abschnitt 2) – Jacky
@Jacky Ich versuchte mit beiden Ports 6379 und 7000 für Abschnitt 1 und 2. –
Sie müssen sich an den Redis-Administrator wenden, um sicherzustellen, welchen Port zu verwenden. Und ich möchte wissen, welche Ausnahme ausgelöst wird, wenn ich in Abschnitt 2 den Port auf 6379 setze. Beachten Sie, dass der Port auf eine Zahl anstatt auf einen String gesetzt wird. – Jacky