Jedis
Acesse uma instância do DCS Redis por meio de Jedis em um ECS na mesma VPC. Para obter mais informações sobre como usar outros clientes do Redis, visite o site oficial 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 executar o SO de Linux, certifique-se de que o ambiente de compilação Java 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.
- Use o Maven para adicionar a seguinte dependência ao arquivo pom.xml:
<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>4.1.1</version> </dependency>
- Acesse a instância do DCS usando Jedis.
Obtenha o código fonte do cliente Jedi. Use um dos dois métodos a seguir para acessar uma instância do DCS Redis por meio de Jedis:
- Conexão de Jedis Únicos
- Piscina Jedis
Exemplo de código:
- Exemplo de uso de Jedis para se conectar a uma instância DCS Redis de cluster de nó único, mestre/em espera ou proxy com uma única conexão
//Creating a connection in password mode String host = "192.168.0.150"; int port = 6379; String pwd = "passwd"; Jedis client = new Jedis(host, port); client.auth(pwd); client.connect(); //Run the SET command. String result = client.set("key-string", "Hello, Redis!"); System.out.println( String.format("set command result:%s", result) ); //Run the GET command. String value = client.get("key-string"); System.out.println( String.format("get command result:%s", value) ); //Creating a connection in password-free mode String host = "192.168.0.150"; int port = 6379; Jedis client = new Jedis(host, port); client.connect(); //Run the SET command. String result = client.set("key-string", "Hello, Redis!"); System.out.println( String.format("set command result:%s", result) ); //Run the GET command. String value = client.get("key-string"); System.out.println( String.format("get command result:%s", value) );
host indica o exemplo de endereço IP/nome de domínio da instância do DCS e a port indica o número da porta da instância do DCS. Para obter detalhes sobre como obter o endereço IP/nome do domínio e a porta, consulte 1. Altere o endereço IP/domínio e a porta conforme necessário. pwd 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.
- Exemplo de uso de Jedis para conexão a uma instância de cluster DCS Redis de nó único, principal/em espera ou proxy com pool de conexão
//Generate configuration information of a Jedis pool String ip = "192.168.0.150"; int port = 6379; String pwd = "passwd"; GenericObjectPoolConfig config = new GenericObjectPoolConfig(); config.setTestOnBorrow(false); config.setTestOnReturn(false); config.setMaxTotal(100); config.setMaxIdle(100); config.setMaxWaitMillis(2000); JedisPool pool = new JedisPool(config, ip, port, 100000, pwd);//Generate a Jedis pool when the application is being initialized //Get a Jedis connection from the Jedis pool when a service operation occurs Jedis client = pool.getResource(); try { //Run commands String result = client.set("key-string", "Hello, Redis!"); System.out.println( String.format("set command result:%s", result) ); String value = client.get("key-string"); System.out.println( String.format("get command result:%s", value) ); } catch (Exception e) { // TODO: handle exception } finally { //Return the Jedis connection to the Jedis pool when the service operation is completed if (null != client) { pool.returnResource(client); } } // end of try block //Destroy the Jedis pool when the application is closed pool.destroy(); //Configure the connection pool in password-free mode String ip = "192.168.0.150"; int port = 6379; GenericObjectPoolConfig config = new GenericObjectPoolConfig(); config.setTestOnBorrow(false); config.setTestOnReturn(false); config.setMaxTotal(100); config.setMaxIdle(100); config.setMaxWaitMillis(2000); JedisPool pool = new JedisPool(config, ip, port, 100000);//Generate a JedisPool when the application is being initialized //Get a Jedis connection from the Jedis pool when a service operation occurs Jedis client = pool.getResource(); try { //Run commands String result = client.set("key-string", "Hello, Redis!"); System.out.println( String.format("set command result:%s", result) ); String value = client.get("key-string"); System.out.println( String.format("get command result:%s", value) ); } catch (Exception e) { // TODO: handle exception } finally { //Return the Jedis connection to the Jedis pool when the service operation is completed if (null != client) { pool.returnResource(client); } } // end of try block //Destroy the Jedis pool when the application is closed pool.destroy();
ip indica o endereço IP/nome de domínio da instância DCS e port indica o número da porta da instância DCS. Para obter detalhes sobre como obter o endereço IP/nome do domínio e a porta, consulte 1. Altere o endereço de IP/domínio e a porta conforme necessário. pwd 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.
- Exemplo de código para conexão com o Cluster do Redis usando uma única conexão
- Com uma senha
//The following shows password-protected access. int port = 6379; String host = "192.168.144.37"; //Create JedisCluster. Set<HostAndPort> nodes = new HashSet<HostAndPort>(); nodes.add(new HostAndPort(host, port)); JedisCluster cluster = new JedisCluster(nodes, 5000, 3000, 10, "password", new JedisPoolConfig()); cluster.set("key", "value"); System.out.println("Connected to RedisCluster:" + cluster.get("key")); cluster.close();
- Sem uma senha
int port = 6379; String host = "192.168.144.37"; //Create JedisCluster. Set<HostAndPort> nodes = new HashSet<HostAndPort>(); nodes.add(new HostAndPort(host, port)); JedisCluster cluster = new JedisCluster(nodes); cluster.set("key", "value"); System.out.println("Connected to RedisCluster:" + cluster.get("key")); cluster.close();
host indica o exemplo de endereço IP/nome de domínio da instância do DCS e a port indica o número da porta da instância do DCS. Para obter detalhes sobre como obter o endereço IP/nome do domínio e a porta, consulte 1. Altere o endereço IP/domínio e a porta conforme necessário. password 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.
- Com uma senha
- Compile o código de acordo com o arquivo readme no código fonte do cliente Jedis. Execute o cliente Jedis para acessar a instância do DCS Redis escolhida.