Access a DCS Redis instance through Jedis on an ECS in the same VPC. For more information on how to use other Redis clients, visit https://redis.io/clients.
For details, see Viewing Details of a DCS Instance.
<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>4.1.1</version> </dependency>
Example code:
// 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 instruction execution 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 indicates the example IP address/domain name of DCS instance and port indicates the port number of DCS instance. For details about how to obtain the IP address/domain name and port, see 1. Change the IP address and port as required. pwd indicates the password used for logging in to the chosen DCS Redis instance. This password is defined during DCS Redis instance creation.
// 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.testWhileIdle(true); 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 connection pool after the client's request is processed 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 the password-free mode String ip = "192.168.0.150"; int port = 6379; GenericObjectPoolConfig config = new GenericObjectPoolConfig(); config.setTestOnBorrow(false); config.setTestOnReturn(false); config.testWhileIdle(true); 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 connection pool after the client's request is processed if (null != client) { pool.returnResource(client); } } // end of try block // Destroy the Jedis pool when the application is closed pool.destroy();
ip indicates the IP address/domain name of DCS instance and port indicates the port number of DCS instance. For details about how to obtain the IP address/domain name and port, see 1. Change the IP address and port as required. pwd indicates the password used for logging in to the chosen DCS Redis instance. This password is defined during DCS Redis instance creation.
Automatic reconnection is supported if the testOnBorrow parameter of the connection pool is enabled. When the service tries to obtain a Redis connection from the connection pool, the connection pool checks connections. After detecting a normal connection, the connection pool provides the connection to the service at the cost of performance. If you require high performance, do not enable this parameter and configure the upper-layer application for it to handle exceptions and retries.
//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();
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 indicates the example IP address/domain name of DCS instance and port indicates the port number of DCS instance. For details about how to obtain the IP address/domain name and port, see 1. Change the IP address and port as required. {password} indicates the password used to log in to the chosen DCS Redis instance. This password is defined during DCS Redis instance creation.