Aujourd'hui, il y a eu une erreur lors de l'utilisation de python pour accéder à Redis sur cette machine (windows). Il existe deux types d'erreurs :
Si je configure Sentinel, une erreur du type commande inconnue 'SENTINEL' sera signalée ; 🎜>Si lorsque je configure StrictRedis, une erreur d'authentification NOAUTH requise sera signalée
Pour la première erreur, l'entreprise récemment mis en ligne Un problème est survenu et j'ai rencontré une telle erreur. La raison principale était que Sentinel n'a pas démarré, mais le processus a été un peu délicat. La société dispose de trois machines Redis Sentinel. les deux autres machines n'ont pas pu élire. Une machine est utilisée comme maître, car je ne sais pas quel travailleur temporaire a configuré la machine d'élection sur 3 lors de la configuration Redis. Par conséquent, tant qu'une machine est en panne, elle est en panne. ne peut être élu. En fait, la configuration doit être modifiée en n-m, n est le nombre de machines et m est le nombre de machines autorisées à tomber en panne.
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)