Heute ist bei der Verwendung von Python für den Zugriff auf Redis auf diesem Computer (Windows) ein Fehler aufgetreten. Es gibt zwei Arten von Fehlern:
Wenn ich Sentinel konfiguriere, wird ein Fehler wie der unbekannte Befehl „SENTINEL“ gemeldet 🎜>Wenn ich StrictRedis konfiguriere, wird ein NOAUTH-Authentifizierungsfehler gemeldet.
Für den ersten Fehler, das Unternehmen Vor kurzem ist ein Problem aufgetreten, und der Hauptgrund dafür war, dass Sentinel nicht gestartet wurde. Das Unternehmen hatte jedoch drei Redis-Sentinel-Maschinen Die anderen beiden Maschinen konnten nicht als Master verwendet werden, da ich bei der Redis-Konfiguration nicht weiß, welcher temporäre Worker die Wahlmaschine konfiguriert hat gewählt werden. Tatsächlich sollte die Konfiguration in n-m geändert werden, wobei n die Anzahl der Maschinen und m die Anzahl der Maschinen ist, die ausfallen dürfen.
import redis import ConfigParser import redis.sentinel class RedisConn: _rp = None def __init__(self): cp = ConfigParser.SafeConfigParser() cp.read('avatar_redis.conf') host = cp.get('redis', 'host') port = cp.get('redis', 'port') db_name = cp.get('redis', 'dbName') pass_word = cp.get('redis', 'passWord') self._rp = redis.StrictRedis(host=host, port=port, db=0, password=pass_word) # = redis.ConnectionPool(host=host, port=port, db=0, password='') #sentinel = redis.sentinel.Sentinel([(host, port)], socket_timeout=0.1) #self._rp = sentinel.master_for(db_name, socket_timeout=0.1) #self._rp = redis.Redis(connection_pool=conn_pool) def get_conn(self): return self._rp def set_value(self, key, value): self._rp.set(key, value) def get_value(self, key): return self._rp.get(key)