全部产品
Search
文档中心

Tair (Redis® OSS-Compatible):Panduan Koneksi

更新时间:Nov 10, 2025

Topik ini menjelaskan cara terhubung ke instans Tair (dan Redis Edisi Open-Source). Untuk terhubung ke instans, Anda harus membangun konektivitas jaringan dan mengonfigurasi daftar putih.

Membangun konektivitas jaringan dan mengonfigurasi daftar putih

Sebelum terhubung ke instans, Anda harus membangun konektivitas jaringan antara klien dan instans serta mengonfigurasi daftar putih IP. Untuk informasi lebih lanjut, lihat Persiapan Koneksi.

Terhubung ke Tair (dan Redis Open-Source Edition)

Tabel berikut menjelaskan parameter yang diperlukan untuk terhubung ke sebuah instans.

Parameter

Deskripsi

Cara mendapatkan nilai parameter

hostname

Titik akhir

  1. Masuk ke konsol dan buka halaman Instans. Di bilah navigasi atas, pilih wilayah tempat instans yang ingin Anda kelola berada. Kemudian, temukan instans tersebut dan klik ID instans.

  2. Di halaman Instance Information, temukan bagian Connection Information untuk melihat titik akhir dan nomor port untuk setiap jenis koneksi.

    Catatan
    • Untuk terhubung ke instans melalui Internet, pertama-tama ajukan permohonan untuk titik akhir publik untuk instans tersebut.

    • Anda tidak dapat mengajukan permohonan untuk titik akhir publik pada instans kluster cloud-native dalam mode koneksi langsung. Untuk informasi lebih lanjut, lihat Lihat titik akhir.

port

Nomor Port

Nomor port default adalah 6379. Anda juga dapat menggunakan nomor port kustom. Untuk informasi lebih lanjut, lihat Ubah titik akhir atau port.

password

Kata sandi

Masukkan akun dan kata sandi berdasarkan tipe akun:

  • Akun default (biasanya bernama default atau sesuai dengan ID instans): Masukkan hanya kata sandi.

  • Akun standar: Masukkan kata sandi dalam format user:kata sandi. Sebagai contoh, jika akun kustom adalah testaccount dan kata sandinya adalah Rp829dlwa, masukkan testaccount:Rp829dlwa sebagai kata sandi.

Jika Anda lupa kata sandi atau belum menetapkan kata sandi, Anda dapat menyetel ulang kata sandi. Untuk informasi lebih lanjut, lihat Ubah atau setel ulang kata sandi.

Hubungkan menggunakan redis-cli

Jika redis-cli belum diinstal di perangkat Anda, ikuti petunjuk berikut.

Petunjuk Instalasi redis-cli

Ketika Anda menginstal Redis pada instance ECS atau perangkat lokal, redis-cli juga akan diinstal. Versi redis-cli tidak harus sesuai dengan versi Tair (Kompatibel dengan Redis OSS) Anda.

  1. Masuk ke perangkat tempat Anda ingin menginstal redis-cli, seperti instance ECS atau perangkat lokal.

  2. Unduh dan instal redis-cli.

    Linux

    Jalankan perintah berikut untuk menginstal dependensi GCC.

    sudo yum -y install gcc

    Jalankan perintah berikut untuk mengunduh file sumber Redis.

    wget https://download.redis.io/releases/redis-7.2.0.tar.gz
    Catatan

    Topik ini menggunakan Redis 7.2.0 sebagai contoh. Anda juga dapat menginstal versi lainnya. Untuk informasi lebih lanjut, lihat Situs resmi Redis.

    Jalankan perintah berikut untuk mengekstrak file sumber Redis.

    tar xzf redis-7.2.0.tar.gz

    Jalankan perintah berikut untuk masuk ke direktori yang telah diekstrak. Kemudian, kompilasi dan instal file sumber Redis:

    cd redis-7.2.0&&make
    Catatan

    Kompilasi dan instalasi memerlukan waktu, biasanya 2 hingga 3 menit.

    macOS

    Di macOS, Anda dapat menggunakan manajer paket Homebrew untuk menginstal klien Redis.

    Instal Homebrew (jika belum terinstal)

    1. Buka Terminal.

    2. Salin dan tempel perintah berikut ke dalam Terminal, lalu tekan Enter. Perintah ini mengunduh dan menjalankan skrip instalasi Homebrew.

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    1. Ikuti instruksi di layar. Anda mungkin perlu memasukkan kata sandi Anda.

    Gunakan Homebrew untuk menginstal Redis

    Di Terminal, jalankan perintah berikut untuk menginstal alat Redis, yang mencakup redis-cli:

    brew install redis

    Perintah ini mengunduh dan menginstal versi stabil terbaru Redis di sistem Anda. Setelah instalasi selesai, Anda dapat menjalankan perintah which redis-cli di Terminal untuk menemukan lokasi redis-cli.

    Windows

    Hanya sistem Windows 64-bit yang didukung.

    1. Unduh file Redis-x64-3.2.100.zip.

      Catatan

      Topik ini menggunakan Redis 3.2 sebagai contoh. Anda juga dapat menginstal versi lainnya. Untuk informasi lebih lanjut, lihat MicrosoftArchive-Redis.

    2. Ekstrak file Redis-x64-3.2.100.zip ke direktori instalasi target Anda.

Hubungkan ke instans:

  1. Masuk ke direktori tempat redis-cli diinstal.

    Linux

    Masuk ke direktori `..\redis-7.2.0\src`. Sebagai contoh, cd /home/redis-7.2.0/src.

    macOS

    Masuk ke direktori tempat redis-cli diinstal, seperti cd /opt/homebrew/bin.

    Windows

    Buka baris perintah dan masuk ke direktori tempat redis-cli diinstal.

  2. Jalankan perintah berikut untuk terhubung ke instans menggunakan redis-cli:

    ./redis-cli -h <hostname> -p <port> [-c]
    Catatan

    Di Windows, perintah untuk memulai redis-cli menggunakan PowerShell adalah .\redis-cli -h hostname -p port [-c].

    Contoh perintah:

    • Titik akhir default: Titik akhir ini cocok untuk skenario di mana Anda terhubung menggunakan titik akhir default, seperti titik akhir instans arsitektur standar atau titik akhir proxy dari instans arsitektur kluster.

      ./redis-cli -h r-bp1zxszhcgatnx****.redis.rds.aliyuncs.com -p 6379
    • Titik akhir koneksi langsung instans kluster: Titik akhir ini cocok untuk skenario di mana Anda terhubung ke instans arsitektur kluster menggunakan titik akhir koneksi langsung.

      ./redis-cli -h r-bp1zxszhcgatnx****.redis.rds.aliyuncs.com -p 6379 -c
  3. Jalankan perintah berikut untuk memverifikasi kata sandi:

    AUTH <password>

    Contoh:

    AUTH testaccount:Rp829dlwa

Hubungkan menggunakan kode

Spring Data Redis

Contoh ini menggunakan Maven untuk pembuatan. Anda juga dapat mengunduh secara manual klien Lettuce atau Jedis.

  1. Buka kompiler dan buat proyek.

  2. Tambahkan file pom berikut untuk mengunduh Lettuce atau Jedis.

    Penting

    Jika Anda menggunakan Lettuce, kami sarankan menggunakan versi 6.3.0.RELEASE atau yang lebih baru dan konfigurasikan parameter TCP_USER_TIMEOUT. Ini mencegah penyaringan blackhole pada klien Lettuce.

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.4.2</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
        <groupId>com.aliyun.tair</groupId>
        <artifactId>spring-boot-example</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <name>spring-boot-example</name>
        <description>Demo project for Spring Boot</description>
        <properties>
            <java.version>1.8</java.version>
        </properties>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-data-redis</artifactId>
            </dependency>
            <dependency>
                <groupId>redis.clients</groupId>
                <artifactId>jedis</artifactId>
            </dependency>
            <dependency>
                <groupId>io.lettuce</groupId>
                <artifactId>lettuce-core</artifactId>
                <version>6.3.0.RELEASE</version>
            </dependency>
            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-transport-native-epoll</artifactId>
                <version>4.1.100.Final</version>
                <classifier>linux-x86_64</classifier>
            </dependency>
        </dependencies>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </build>
    </project>
  3. Masukkan kode berikut di editor Spring Data Redis dan modifikasi berdasarkan komentar.

    Dalam contoh ini, Spring Data Redis 2.4.2 digunakan.

    • Spring Data Redis dengan Jedis

      @Configuration
      public class RedisConfig {
          
          @Bean
          JedisConnectionFactory redisConnectionFactory() {
              //Contoh ini hanya untuk pengujian koneksi. Di lingkungan produksi, kami sarankan Anda menyimpan informasi koneksi di file konfigurasi dan mengambil informasi tersebut menggunakan anotasi @Value.
              //Anda dapat memperoleh endpoint (hostName) dan nomor port (port) dari bagian Informasi Koneksi halaman Informasi Instans. Pilih koneksi VPC atau publik berdasarkan lingkungan jaringan klien Anda.
              RedisStandaloneConfiguration config = new RedisStandaloneConfiguration("r-8vbwds91ie1rdl****.redis.zhangbei.rds.aliyuncs.com", 6379);
              //Masukkan kata sandi dalam format username:kata sandi. Contohnya, jika nama pengguna adalah testaccount dan kata sandi adalah Rp829dlwa, masukkan testaccount:Rp829dlwa sebagai kata sandi.
              //Jika Anda lupa nama pengguna atau kata sandi, klik Manajemen Akun di panel navigasi kiri halaman detail instans untuk mereset kata sandi atau membuat akun.
              config.setPassword(RedisPassword.of("username:password"));
              JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
              // Tentukan jumlah maksimum koneksi sesuai kebutuhan. Nilai ini tidak boleh melebihi jumlah maksimum koneksi yang didukung oleh tipe instans.
              jedisPoolConfig.setMaxTotal(30);
              // Tentukan jumlah maksimum koneksi idle sesuai kebutuhan. Nilai ini tidak boleh melebihi jumlah maksimum koneksi yang didukung oleh tipe instans.
              jedisPoolConfig.setMaxIdle(20);
              // Nonaktifkan testOn[Borrow|Return] untuk mencegah perintah PING tambahan dihasilkan.
              jedisPoolConfig.setTestOnBorrow(false);
              jedisPoolConfig.setTestOnReturn(false);
      
              JedisClientConfiguration jedisClientConfiguration = JedisClientConfiguration.builder().usePooling().poolConfig(
                      jedisPoolConfig).build();
      
              return new JedisConnectionFactory(config, jedisClientConfiguration);
          }
          @Bean
          public RedisTemplate<String, Object> redisTemplate() {
              RedisTemplate<String, Object> template = new RedisTemplate<>();
              template.setConnectionFactory(redisConnectionFactory());
              template.setKeySerializer(new StringRedisSerializer());
              template.setValueSerializer(new GenericJackson2JsonRedisSerializer());
              return template;
          }
      }
    • Spring Data Redis dengan Lettuce (termasuk konfigurasi parameter TCP_USER_TIMEOUT)

      @Configuration
      public class BeanConfig {
          /**
           * Aktifkan TCP keepalive dan konfigurasikan tiga parameter berikut:
           * TCP_KEEPIDLE = 30
           * TCP_KEEPINTVL = 10
           * TCP_KEEPCNT = 3
           */
          private static final int TCP_KEEPALIVE_IDLE = 30;
      
          /**
           * Parameter TCP_USER_TIMEOUT dapat mencegah Lettuce terus timeout dalam kasus kegagalan atau kerusakan.
           * Referensi: https://github.com/lettuce-io/lettuce-core/issues/2082
           */
          private static final int TCP_USER_TIMEOUT = 30;
      
          @Bean
          LettuceConnectionFactory redisConnectionFactory() {
              RedisStandaloneConfiguration config = new RedisStandaloneConfiguration();
              config.setHostName("r-bp1y4is8svonly****pd.redis.rds.aliyuncs.com");
              config.setPort(6379);
              config.setUsername("r-bp1y4is8svonly****");
              config.setPassword("Da****3");
      
              // Konfigurasi TCP KeepAlive
              SocketOptions socketOptions = SocketOptions.builder()
                  .keepAlive(KeepAliveOptions.builder()
                      .enable()
                      .idle(Duration.ofSeconds(TCP_KEEPALIVE_IDLE))
                      .interval(Duration.ofSeconds(TCP_KEEPALIVE_IDLE / 3))
                      .count(3)
                      .build())
                  .tcpUserTimeout(TcpUserTimeoutOptions.builder()
                      .enable()
                      .tcpUserTimeout(Duration.ofSeconds(TCP_USER_TIMEOUT))
                      .build())
                  .build();
              LettuceClientConfiguration lettuceClientConfiguration = LettuceClientConfiguration.builder().clientOptions(
                  ClientOptions.builder().socketOptions(socketOptions).build()).build();
              return new LettuceConnectionFactory(config, lettuceClientConfiguration);
          }
      
          @Bean
          RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory connectionFactory) {
              RedisTemplate<String, Object> template = new RedisTemplate<>();
              template.setConnectionFactory(connectionFactory);
              return template;
          }
      }

Jedis

Contoh ini menggunakan Maven untuk pembuatan. Anda juga dapat mengunduh secara manual klien Jedis.

  1. Buka kompiler dan buat proyek.

  2. Tambahkan kode berikut ke file pom.xml.

    Dalam contoh ini, Jedis 4.3.0 digunakan.

    <dependency>
        <groupId>redis.clients</groupId>
        <artifactId>jedis</artifactId>
        <version>4.3.0</version>
    </dependency>
  3. Masukkan kode berikut di editor dan modifikasi berdasarkan komentar:

    import redis.clients.jedis.Jedis;
    import redis.clients.jedis.JedisPool;
    import redis.clients.jedis.JedisPoolConfig;
    
    public class JedisExample {
        public static void main(String[] args) {
            JedisPoolConfig config = new JedisPoolConfig();
            // Tentukan jumlah maksimum koneksi idle berdasarkan kebutuhan Anda. Nilai ini tidak boleh melebihi jumlah maksimum koneksi yang didukung oleh instans Redis.
            config.setMaxIdle(200);
            // Tentukan jumlah maksimum koneksi berdasarkan kebutuhan Anda. Nilai ini tidak boleh melebihi jumlah maksimum koneksi yang didukung oleh instans Redis.
            config.setMaxTotal(300);
            config.setTestOnBorrow(false);
            config.setTestOnReturn(false);
            // Ganti nilai hostname dan password dengan endpoint dan kata sandi instans.
            String hostname = "r-bp1s1bt2tlq3p1****pd.redis.rds.aliyuncs.com";
            // Untuk akun default, Anda dapat langsung memasukkan kata sandi. Untuk akun baru, masukkan kata sandi dalam format user:kata sandi. Contohnya, jika akun baru adalah testaccount dan kata sandi adalah Rp829dlwa, masukkan testaccount:Rp829dlwa.
            String password = "r-bp1s1bt2tlq3p1****:Database123";
            JedisPool pool = new JedisPool(config, hostname, 6379, 3000, password);
            Jedis jedis = null;
            try {
                jedis = pool.getResource();
                // Lakukan operasi terkait. Kode berikut memberikan contoh.
                jedis.set("foo10", "bar");
                System.out.println(jedis.get("foo10"));
                jedis.zadd("sose", 0, "car");
                jedis.zadd("sose", 0, "bike");
                System.out.println(jedis.zrange("sose", 0, -1));
            }
            catch (Exception e) {
                // Tangani timeout atau pengecualian lainnya.
                e.printStackTrace();
            }
            finally {
                if (jedis != null) {
                    jedis.close();
                }
            }
            pool.destroy();    // Saat aplikasi keluar dan sumber daya perlu dihancurkan, panggil metode ini. Metode ini memutuskan koneksi dan melepaskan sumber daya.
        }
    }
  4. Jalankan proyek sebelumnya. Output berikut diharapkan:

    bar
    [bike, car]

redis-py

  1. Unduh dan instal klien redis-py.

  2. Masukkan kode berikut di editor Python dan modifikasi berdasarkan komentar.

    Dalam contoh ini, Python 3.9 dan redis-py 4.4.1 digunakan.

    #!/usr/bin/env python
    #-*- coding: utf-8 -*-
    import redis
    # Ganti nilai hostname dan port dengan endpoint dan nomor port instans.
    hostname = 'r-bp10noxlhcoim2****.redis.rds.aliyuncs.com'
    port = 6379
    # Ganti nilai pwd dengan kata sandi instans.
    # Untuk akun default, Anda dapat langsung memasukkan kata sandi. Untuk akun baru, masukkan kata sandi dalam format user:kata sandi. Contohnya, jika akun baru adalah testaccount dan kata sandi adalah Rp829dlwa, masukkan testaccount:Rp829dlwa.
    password = 'testaccount:Rp829dlwa'
    r = redis.Redis(host=hostname, port=port, password=password)
    # Setelah koneksi dibuat, Anda dapat melakukan operasi database. Kode berikut memberikan contoh cara menggunakan SET dan GET.
    r.set('foo', 'bar')
    print(r.get('foo'))
  3. Jalankan proyek sebelumnya. Output berikut diharapkan:

    b'bar'

PhpRedis

  1. Unduh dan instal klien PhpRedis.

  2. Masukkan kode berikut di editor PHP dan modifikasi berdasarkan komentar.

    Dalam contoh ini, PHP 8.2.1 dan PhpRedis 5.3.7 digunakan.

    <?php
     /* Ganti nilai hostname dan port dengan endpoint dan nomor port instans. */
     $hostname = "r-bp10noxlhcoim2****.redis.rds.aliyuncs.com";
     $port = 6379;
     /* Ganti nilai user dan password dengan akun dan kata sandi instans. */
     $user = "testaccount";
     $password = "Rp829dlwa";
     $redis = new Redis();
     if ($redis->connect($hostname, $port) == false) {
             die($redis->getLastError());
       }
     if ($redis->auth([$user, $password]) == false) {
             die($redis->getLastError());
      }
      /* Setelah autentikasi, Anda dapat melakukan operasi database. Kode berikut memberikan contoh cara menggunakan SET dan GET. */
     if ($redis->set("foo", "bar") == false) {
             die($redis->getLastError());
     }
     $value = $redis->get("foo");
     echo $value;
     ?>
  3. Jalankan kode sebelumnya.

    Catatan

    Kesalahan umum dan solusi:

C atau C++

  1. Unduh dan instal klien C.

  2. Masukkan kode berikut di editor C atau C++ dan modifikasi berdasarkan komentar.

    Dalam contoh ini, hiredis 1.1.0 digunakan.

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <hiredis.h>
    int main(int argc, char **argv) {
        unsigned int j;
        redisContext *c;
        redisReply *reply;
        if (argc < 4) {
                printf("Usage: example r-bp10noxlhcoim2****.redis.rds.aliyuncs.com 6379 instance_id password\n");
                exit(0);
        }
        const char *hostname = argv[1];
        const int port = atoi(argv[2]);
        const char *instance_id = argv[3];
        const char *password = argv[4];
        struct timeval timeout = { 1, 500000 }; // 1.5 detik
        c = redisConnectWithTimeout(hostname, port, timeout);
        if (c == NULL || c->err) {
        if (c) {
                printf("Connection error: %s\n", c->errstr);
                redisFree(c);
        } else {
            printf("Connection error: can't allocate redis context\n");
        }
        exit(1);
        }
        /* AUTH */
        reply = redisCommand(c, "AUTH %s", password);
        printf("AUTH: %s\n", reply->str);
        freeReplyObject(reply);
        /* PING server */
        reply = redisCommand(c,"PING");
        printf("PING: %s\n", reply->str);
        freeReplyObject(reply);
        /* Set a key */
        reply = redisCommand(c,"SET %s %s", "foo", "hello world");
        printf("SET: %s\n", reply->str);
        freeReplyObject(reply);
        /* Set a key using binary safe API */
        reply = redisCommand(c,"SET %b %b", "bar", (size_t) 3, "hello", (size_t) 5);
        printf("SET (binary API): %s\n", reply->str);
        freeReplyObject(reply);
        /* Try a GET and two INCR */
        reply = redisCommand(c,"GET foo");
        printf("GET foo: %s\n", reply->str);
        freeReplyObject(reply);
        reply = redisCommand(c,"INCR counter");
        printf("INCR counter: %lld\n", reply->integer);
        freeReplyObject(reply);
        /* again ... */
        reply = redisCommand(c,"INCR counter");
        printf("INCR counter: %lld\n", reply->integer);
        freeReplyObject(reply);
        /* Create a list of numbers, from 0 to 9 */
        reply = redisCommand(c,"DEL mylist");
        freeReplyObject(reply);
        for (j = 0; j < 10; j++) {
                char buf[64];
                snprintf(buf,64,"%d",j);
                reply = redisCommand(c,"LPUSH mylist element-%s", buf);
                freeReplyObject(reply);
            }
        /* Let's check what we have inside the list */
        reply = redisCommand(c,"LRANGE mylist 0 -1");
        if (reply->type == REDIS_REPLY_ARRAY) {
                for (j = 0; j < reply->elements; j++) {
                printf("%u) %s\n", j, reply->element[j]->str);
        }
        }
        freeReplyObject(reply);
        /* Disconnects and frees the context */
        redisFree(c);
        return 0;
    }
  3. Kompilasi kode.

    gcc -o example -g example.c -I /usr/local/include/hiredis -lhiredis
  4. Lakukan uji coba dan hubungkan ke instans.

     ./example r-bp10noxlhcoim2****.redis.rds.aliyuncs.com 6379 r-bp10noxlhcoim2**** password

.NET

  1. Unduh dan instal StackExchange.Redis 2.7.20 atau yang lebih baru. Untuk informasi lebih lanjut, lihat Pemberitahuan tentang pembaruan StackExchange.Redis.

    Penting

    Kami sarankan Anda tidak menggunakan klien ServiceStack Redis atau CSRedis.

    • Jika Anda menggunakan ServiceStack Redis dan mengalami masalah terkait klien, Anda harus membeli dukungan teknis dari ServiceStack.

    • Dukungan untuk klien CSRedis telah dihentikan.

  2. Masukkan kode berikut di editor StackExchange.Redis dan modifikasi berdasarkan komentar.

    Dalam contoh ini, StackExchange.Redis versi 2.7.20 digunakan.

    using StackExchange.Redis;
     // Atur endpoint, nomor port, dan kata sandi instans.
     private static ConfigurationOptions configurationOptions = ConfigurationOptions.Parse("r-bp10noxlhcoim2****.redis.rds.aliyuncs.com:6379,password=testaccount:Rp829dlwa,connectTimeout=2000");
      // kunci untuk singleton
     private static readonly object Locker = new object();
      // singleton
     private static ConnectionMultiplexer redisConn;
     // singleton
     public static ConnectionMultiplexer getRedisConn()
     {
         if (redisConn == null)
         {
             lock (Locker)
             {
                 if (redisConn == null || !redisConn.IsConnected)
                 {
                     redisConn = ConnectionMultiplexer.Connect(configurationOptions);
                 }
             }
         }
         return redisConn;
     }
    Catatan
    • ConfigurationOptions adalah inti dari StackExchange.Redis. Ini dibagikan dan digunakan kembali oleh seluruh aplikasi dan harus disetel sebagai singleton. Untuk informasi lebih lanjut tentang pengaturan parameter, lihat ConfigurationOptions.

    • Objek yang dikembalikan oleh GetDatabase() ringan. Anda dapat mendapatkannya dari objek ConnectionMultiplexer setiap kali Anda menggunakannya.

       redisConn = getRedisConn();
       var db = redisConn.GetDatabase();

node-redis

  1. Unduh dan instal klien node-redis.

  2. Masukkan kode berikut di klien node-redis dan modifikasi berdasarkan komentar.

    Dalam contoh ini, Node.js 19.4.0 dan node-redis 4.5.1 digunakan.

    import { createClient } from 'redis';
    
    // Atur nomor port, endpoint, akun, dan kata sandi instans.
    const hostname = 'r-bp10noxlhcoim2****.redis.rds.aliyuncs.com';
    const port = 6379;
    const username = 'testaccount';
    // Jika kata sandi mengandung karakter khusus (!@#$%^&*()+-=_), kami sarankan Anda mengkodekan kata sandi menggunakan encodeURIComponent: password = encodeURIComponent(password)
    const password = 'Rp829dlwa';
    const client = createClient({
      // redis://[[username]:[password]@[hostname][:port]/[db-number]
      url: `redis://${username}:${password}@${hostname}:${port}/0`
    });
    
    client.on('error', (err) => console.log('Redis Client Error', err));
    
    await client.connect();
    
    await client.set('foo', 'bar');
    const value = await client.get('foo');
    console.log("get foo: %s", value);
    await client.disconnect();
    Catatan

    Jika kesalahan SyntaxError: Cannot use import statement outside a module dilaporkan, ubah ekstensi file .js menjadi .mjs dan tambahkan opsi --experimental-modules saat Anda memanggil file. Contoh: node --experimental-modules redis.mjs.

Go-redis

  1. Unduh dan instal klien Go-redis.

  2. Masukkan kode berikut di editor Go-redis dan modifikasi berdasarkan komentar.

    Dalam contoh ini, Go 1.18.5 dan Go-redis 8.11.5 digunakan.

    package main
    
    import (
    	"github.com/go-redis/redis"
    	"fmt"
    )
    
    func ExampleClient() {
    	client := redis.NewClient(&redis.Options{
            // Ganti dengan endpoint dan port instans.
    		Addr:     "r-bp10noxlhcoim2****.redis.rds.aliyuncs.com:6379",
            // Ganti dengan kata sandi instans.
    		Password: "testaccount:Rp829dlwa",
    		DB:       0,  // gunakan DB default
    	})
        // Kode berikut memberikan contoh cara menggunakan SET dan GET.
    	err := client.Set("foo", "bar", 0).Err()
    	if err != nil {
    		panic(err)
    	}
    
    	val, err := client.Get("foo").Result()
    	if err != nil {
    		panic(err)
    	}
    	fmt.Println("set : foo -> ", val)
    }
    
    func main() {
    	ExampleClient()
    }

Lettuce

Contoh proyek sampel berikut dibuat menggunakan Maven. Anda juga dapat mengunduh secara manual klien Lettuce.

  1. Buka kompiler dan buat proyek.

  2. Tambahkan dependensi berikut ke file pom.xml dan unduh Lettuce 6.3.0. Kami sarankan Anda tidak menggunakan versi Lettuce sebelum 6.3.0.

    Dalam contoh ini, Lettuce 6.3.0 digunakan.

    <<dependencies>
        <dependency>
            <groupId>io.lettuce</groupId>
            <artifactId>lettuce-core</artifactId>
            <version>6.3.0.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>io.netty</groupId>
            <artifactId>netty-transport-native-epoll</artifactId>
            <version>4.1.100.Final</version>
            <classifier>linux-x86_64</classifier>
        </dependency>
    </dependencies>
  3. Masukkan kode berikut di editor dan modifikasi berdasarkan komentar:

    import io.lettuce.core.ClientOptions;
    import io.lettuce.core.RedisClient;
    import io.lettuce.core.RedisURI;
    import io.lettuce.core.SocketOptions;
    import io.lettuce.core.SocketOptions.KeepAliveOptions;
    import io.lettuce.core.SocketOptions.TcpUserTimeoutOptions;
    import io.lettuce.core.api.StatefulRedisConnection;
    import io.lettuce.core.api.sync.RedisCommands;
    import java.time.Duration;
    
    public class LettuceExample {
        /**
         * Aktifkan TCP keepalive dan konfigurasikan tiga parameter berikut:
         *  TCP_KEEPIDLE = 30
         *  TCP_KEEPINTVL = 10
         *  TCP_KEEPCNT = 3
         */
        private static final int TCP_KEEPALIVE_IDLE = 30;
    
        /**
         * Parameter TCP_USER_TIMEOUT dapat menghindari situasi di mana Lettuce tetap macet dalam loop timeout terus-menerus selama kegagalan atau peristiwa crash. 
         * refer: https://github.com/lettuce-io/lettuce-core/issues/2082
         */
        private static final int TCP_USER_TIMEOUT = 30;
    
        private static RedisClient client = null;
        private static StatefulRedisConnection<String, String> connection = null;
    
        public static void main(String[] args) {
            // Ganti nilai host, user, password, dan port dengan informasi instans aktual. 
            String host = "r-bp1s1bt2tlq3p1****.redis.rds.aliyuncs.com";
            String user = "r-bp1s1bt2tlq3p1****";
            String password = "Da****3";
            int port = 6379;
    
            // Konfigurasi RedisURI
            RedisURI uri = RedisURI.Builder
                    .redis(host, port)
                    .withAuthentication(user, password)
                    .build();
    
            // Konfigurasi TCP KeepAlive
            SocketOptions socketOptions = SocketOptions.builder()
                    .keepAlive(KeepAliveOptions.builder()
                            .enable()
                            .idle(Duration.ofSeconds(TCP_KEEPALIVE_IDLE))
                            .interval(Duration.ofSeconds(TCP_KEEPALIVE_IDLE/3))
                            .count(3)
                            .build())
                    .tcpUserTimeout(TcpUserTimeoutOptions.builder()
                            .enable()
                            .tcpUserTimeout(Duration.ofSeconds(TCP_USER_TIMEOUT))
                            .build())
                    .build();
    
            client = RedisClient.create(uri);
            client.setOptions(ClientOptions.builder()
                    .socketOptions(socketOptions)
                    .build());
            connection = client.connect();
            RedisCommands<String, String> commands = connection.sync();
    
            System.out.println(commands.set("foo", "bar"));
            System.out.println(commands.get("foo"));
    
            // Jika aplikasi Anda keluar dan Anda ingin menghancurkan sumber daya, panggil metode ini. Kemudian, koneksi ditutup, dan sumber daya dilepaskan. 
            connection.close();
            client.shutdown();
        }
    }
  4. Jalankan kode sebelumnya. Output berikut diharapkan pada penyelesaian yang berhasil:

    OK
    bar

Hubungkan menggunakan DMS

  1. Masuk ke konsol dan buka halaman Instans. Di bilah navigasi atas, pilih wilayah tempat instans yang ingin Anda kelola berada. Kemudian, temukan instans dan klik ID instans.

  2. Di sudut kanan atas halaman, klik Log on to the database.

  3. Di konsol DMS, atur metode logon.

    Metode akses

    Deskripsi

    Log On With Username And Password

    (Direkomendasikan)

    Masukkan akun database dan kata sandi yang sesuai. Untuk informasi tentang cara membuat akun database, lihat Buat dan kelola akun.

    Catatan

    Secara default, sebuah instans dilengkapi dengan akun database bernama setelah ID instans, seperti r-bp10noxlhcoim2****. Anda dapat menggunakan akun ini untuk logon. Kata sandi akun ditentukan saat Anda membuat instans.

    Password-free Logon

    Jika akses tanpa kata sandi diaktifkan untuk instans, Anda dapat masuk ke instans tanpa menggunakan kata sandi. Untuk informasi lebih lanjut, lihat Aktifkan akses tanpa kata sandi melalui VPC.

    Log On With Password

    Gunakan kata sandi yang Anda tentukan saat Anda membuat instans untuk masuk ke instans. Kata sandi dibuat untuk akun database yang dinamai setelah ID instans.

    Catatan

    Jika Anda lupa kata sandi Anda, Anda dapat meresetnya. Untuk informasi lebih lanjut, lihat Ubah atau reset kata sandi.

    Anda dapat menyimpan nilai default untuk parameter lainnya.

  4. Klik Logon.

    Jika Anda belum menambahkan alamat IP server DMS ke daftar putih instans, kotak dialog akan muncul. Anda harus mengklik Set Whitelist. Sistem akan membuat grup daftar putih bernama ali_dms_group untuk instans dan menambahkan alamat IP server DMS ke grup ini.

  5. Setelah Anda masuk, Anda dapat memasukkan dan menjalankan perintah di kotak teks pada tab SQLConsole. Sebagai contoh, Anda dapat menjalankan perintah DBSIZE untuk menanyakan jumlah kunci di database saat ini.

    Untuk informasi tentang perintah yang didukung oleh Tair (dan Redis Edisi Open-Source), lihat Ikhtisar Perintah.

Metode Koneksi Lainnya

Memecahkan masalah koneksi

Memecahkan masalah koneksi Tair