Maison > développement back-end > Tutoriel Python > Problème avec Python accédant à Redis

Problème avec Python accédant à Redis

高洛峰
Libérer: 2017-02-15 14:59:14
original
1707 Les gens l'ont consulté

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

marquez-la et nous trouverons une solution demain ; . . .

ps : Il a finalement été découvert que la connexion mongo avait échoué car le mot de passe n'était pas défini (c'était en fait parce que la configuration en ligne était considérée comme une configuration hors ligne...)

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.

Vous trouverez ci-joint le code redis comme suit :

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)
Copier après la connexion
Pour plus d'accès python aux problèmes redis, veuillez faire attention au site Web PHP chinois pour les articles connexes !


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal