Clientes em Python
Acesse uma instância do DCS Redis por meio do redis-py em um ECS na mesma VPC. Para obter mais informações sobre como usar outros clientes do Redis, visite o site oficial do Redis.
![](https://support.huaweicloud.com/intl/pt-br/usermanual-dcs/public_sys-resources/note_3.0-pt-br.png)
Use o redis-py para conectar-se a instâncias de cluster de nó único, principal/em espera e proxy e redis-py-cluster para conectar-se a instâncias de cluster do Redis.
Pré-requisitos
- Uma instância do DCS Redis foi criada e está no estado Running.
- Foi criado um ECS. Para obter detalhes sobre como criar um ECS, consulte Comprando um ECS .
- Se o ECS executa o SO de Linux, certifique-se de que o ambiente de compilação Python tenha sido instalado no ECS.
Procedimento
- Visualize o endereço IP/nome do domínio e o número da porta da instância do DCS Redis a ser acessada.
Para obter detalhes, consulte Exibindo Detalhes da Instância .
- Acesse o ECS.
A seguir, o CentOS é usado como um exemplo para descrever como acessar uma instância usando um cliente Python.
- Acesse a instância do DCS Redis.
Se o sistema não fornecer Python, execute o seguinte comando yum para instalá-lo:
yum install pythonA versão do Python deve ser 3.6 ou posterior. Se a versão padrão do Python for anterior à 3.6, execute as seguintes operações para alterá-la:
- Execute o comando rm -rf python para excluir o link simbólico do Python.
- Execute o comando ln -s pythonX.X.X python para criar outro link Python. No comando, X.X.X indica o número da versão do Python.
- Se a instância for uma instância de um único nó, principal/em espera ou Cluster de Proxy:
- Instale o Python e o redis-py.
- Se o sistema não fornecer Python, execute o seguinte comando yum para instalá-lo.
- Execute o seguinte comando para baixar e descompactar o pacote redis-py:
wget https://github.com/andymccurdy/redis-py/archive/master.zip
unzip master.zip
- Vá para o diretório onde o pacote redis-py descompactado está salvo e instale o redis-py.
Após a instalação, execute o comando python. O redis-py foi instalado com sucesso se a seguinte saída do comando for exibida:
Figura 1 Executando o comando python
- Use o cliente redis-py para conectar-se à instância. Nas etapas a seguir, os comandos são executados no modo CLI. (Alternativamente, escreva os comandos em um script Python e, em seguida, execute o script.)
- Execute o comando python para entrar no modo CLI. Você entrou no modo CLI se a seguinte saída do comando for exibida:
Figura 2 Entrando no modo CLI
- Execute o seguinte comando para acessar a instância do DCS Redis escolhida:
r = redis.StrictRedis(host='XXX.XXX.XXX.XXX', port=6379, password='******');
XXX.XXX.XXX.XXX indica o endereço IP/nome de domínio da instância do DCS e 6379 é um exemplo de número de porta da instância. Para obter detalhes sobre como obter o endereço IP/nome do domínio e a porta, consulte 1. Altere o endereço IP/nome do domínio e a porta conforme necessário. ****** indica a senha usada para fazer login na instância do DCS Redis escolhida. Essa senha é definida durante a criação da instância do DCS Redis.
Você acessou a instância com êxito se a seguinte saída do comando for exibida. Digite comandos para executar operações de leitura e gravação no banco de dados.
Figura 3 Redis conectado com sucesso
- Execute o comando python para entrar no modo CLI. Você entrou no modo CLI se a seguinte saída do comando for exibida:
- Instale o Python e o redis-py.
- Se a instância for uma instância do Cluster do Redis:
- Instale o cliente redis-py-cluster.
- Acesse a instância do DCS Redis usando redis-py-cluster.
Nas etapas a seguir, os comandos são executados no modo CLI. (Alternativamente, escreva os comandos em um script Python e, em seguida, execute o script.)
- Execute o comando python para entrar no modo CLI.
- Execute o seguinte comando para acessar a instância do DCS Redis escolhida:
>>> from rediscluster import RedisCluster >>> startup_nodes = [{"host": "192.168.0.143", "port": "6379"}] >>> rc = RedisCluster(startup_nodes=startup_nodes, decode_responses=True) >>> rc.set("foo", "bar") True >>> print(rc.get("foo")) 'bar'