All Products
Search
Document Center

Tair (Redis® OSS-Compatible):Verifikasi data yang dimigrasikan

Last Updated:Jun 21, 2026

Setelah menyelesaikan migrasi data ke instans Tair (Redis OSS-compatible), Anda dapat menggunakan tool redis-full-check untuk memverifikasi konsistensi data.

Prasyarat

  • Migrasi data telah selesai.

  • Instance ECS yang menjalankan sistem operasi Linux telah dibuat. Untuk informasi selengkapnya, lihat Create an ECS instance.

  • Instance ECS dapat mengakses instans Redis sumber dan tujuan.

    Catatan
    • Jika instance ECS dan instans Redis berada dalam VPC dan zona ketersediaan yang sama, tambahkan alamat IP internal instance ECS ke daftar putih Redis. Untuk informasi selengkapnya, lihat Configure an IP whitelist.

    • Jika instance ECS dan instans Redis tidak berada dalam VPC dan zona ketersediaan yang sama, Anda dapat terhubung ke instans Redis menggunakan titik akhir publiknya. Untuk informasi selengkapnya, lihat Connect to a Tair (Redis OSS-compatible) instance using a public endpoint.

Kasus penggunaan

Error selama migrasi data dapat menyebabkan ketidakkonsistenan antara instans sumber dan tujuan. Anda dapat menggunakan redis-full-check untuk mengidentifikasi perbedaan tersebut dan memperbaiki data.

redis-full-check adalah tool verifikasi data Redis yang dikembangkan oleh Alibaba Cloud. Tool ini mengekstraksi data dari sumber dan tujuan, melakukan beberapa putaran perbandingan, serta mencatat semua perbedaan dalam database SQLite3.

Catatan

Untuk informasi selengkapnya tentang redis-full-check, lihat redis-full-check GitHub repository.

Prosedur

  1. Hubungkan ke instance ECS yang dapat mengakses instans Tair (Redis OSS-compatible). Untuk informasi selengkapnya, lihat Connect to an ECS instance.

  2. Unduh tool redis-full-check.

    Catatan

    Kami menyarankan agar Anda mengunduh rilis terbaru.

  3. Ekstrak file redis-full-check.tar.gz.

    tar -xvf redis-full-check.tar.gz
  4. Jalankan perintah berikut untuk melakukan verifikasi data:

    ./redis-full-check -s "<source_endpoint_1:port;source_endpoint_2:port;...>" -p <source_password> -t <destination_endpoint:port> -a <destination_password> --m=1 --sourcedbfilterlist=0;2 --targetdbfilterlist=0;2

    Berikut contoh perintahnya:

    ./redis-full-check -s "10.xx.xx.1:6379" -p SourcePwd233 -t "r-bp1zc********.redis.rds.aliyuncs.com:6379" -a testaccount:Test1234 --m=1 --sourcedbfilterlist=0;2 --targetdbfilterlist=0;2

    Untuk daftar lengkap parameter, lihat redis-full-check Configuration Guide.

    Tabel 1. Parameter umum redis-full-check

    Parameter

    Deskripsi

    Contoh

    -s

    Titik akhir dan port instans Redis sumber.

    Catatan
    • Jika sumbernya adalah instans kluster, pisahkan beberapa titik akhir dengan tanda titik koma (;).

    • Apit titik akhir dengan tanda kutip ganda ("").

    • Parameter ini wajib diisi.

    r-bp1xxxxxxxxxxxxx.redis.rds.aliyuncs.com:6379
    "10.xx.xx.1:7000;10.xx.xx.1:7001;10.xx.xx.2:7002;10.xx.xx.2:7003"

    -p

    Kredensial untuk instans Redis sumber, dalam format <username>:<password>. Contoh: testaccount:Test1234. Jika instans tidak memerlukan username, cukup tentukan password-nya saja. Jika instans tidak memerlukan password, parameter ini dapat diabaikan.

    SourcePwd233 atau testaccount:Test1234

    -t

    Titik akhir dan port instans Redis tujuan.

    Catatan
    • Jika tujuannya adalah instans kluster, pisahkan beberapa titik akhir dengan tanda titik koma (;).

    • Apit titik akhir dengan tanda kutip ganda ("").

    • Parameter ini wajib diisi.

    r-bp1xxxxxxxxxxxxx.redis.rds.aliyuncs.com:6379
    "10.xx.xx.1:7000;10.xx.xx.1:7001;10.xx.xx.2:7002;10.xx.xx.2:7003"

    -a

    Kredensial untuk instans Redis tujuan, dalam format <username>:<password>. Contoh: testaccount:Test1234. Jika instans tidak memerlukan username, cukup tentukan password-nya saja. Jika instans tidak memerlukan password, parameter ini dapat diabaikan.

    TargetPwd233 atau testaccount:Test1234

    --sourcedbtype

    Tipe instans sumber. Nilai yang valid:

    • 0 (Default): standalone atau standard

    • 1: kluster (mode koneksi langsung)

    • 2: kluster (modus proxy)

    --sourcedbtype=1

    --sourcedbfilterlist

    Database yang akan diverifikasi pada instans Redis sumber.

    Catatan
    • Parameter ini tidak diperlukan untuk instans kluster Redis OSS.

    • Untuk tipe instans kluster lainnya, semua database diverifikasi secara default.

    • Untuk menentukan beberapa database, pisahkan nomornya dengan tanda titik koma (;).

    --sourcedbfilterlist=0;1;2

    --targetdbtype

    Tipe instans tujuan. Nilai yang valid:

    • 0 (Default): standalone atau standard

    • 1: kluster (mode koneksi langsung)

    • 2: kluster (modus proxy)

    --targetdbtype=0

    --targetdbfilterlist

    Database yang akan diverifikasi pada instans Redis tujuan.

    Catatan
    • Parameter ini tidak diperlukan untuk instans kluster Redis OSS.

    • Untuk tipe instans kluster lainnya, semua database diverifikasi secara default.

    • Untuk menentukan beberapa database, pisahkan nomornya dengan tanda titik koma (;).

    --targetdbfilterlist=0;1;2

    -d

    Nama file output untuk daftar data yang tidak konsisten. Default: result.db.

    xxx.db

    --comparetimes

    Jumlah putaran verifikasi. Default: 3. Minimum: 1. Kami menyarankan nilai 5 atau kurang.

    --comparetimes=1

    -m

    Mode verifikasi. Nilai yang valid:

    • 1: verifikasi penuh.

    • 2 (Default): hanya memverifikasi panjang value.

    • 3: hanya memverifikasi keberadaan key.

    • 4: melakukan verifikasi penuh tetapi mengabaikan key besar.

    -m=1

    --qps

    Batas queries-per-second (QPS). Nilai default adalah 15000.

    Catatan
    • Nilai minimum adalah 1.

    • Nilai maksimum bergantung pada performa server Anda.

    --qps=10

    --filterlist

    Daftar key yang akan dibandingkan, dipisahkan dengan tanda pipa vertikal (|).

    Catatan
    • abc*: Cocok dengan semua key yang diawali "abc".

    • abc: Hanya cocok dengan key "abc".

    --filterlist=abc*|efg|m*

    Catatan

    Saat perintah selesai, tool akan mencetak ringkasan ke command line. Output contoh menunjukkan dua key yang tidak konsisten. Nilai 0 berarti data konsisten.

    all finish successfully, totally 2 keys or fields conflict
  5. Lihat database SQLite3 yang berisi key yang tidak konsisten.

    1. Jalankan sqlite3 result.db.3.

      Catatan

      Secara default, daftar data yang tidak konsisten disimpan ke result.db.3.

    2. Jalankan SELECT * FROM key;.

      Gambar 1. Lihat daftar data yang tidak konsisten

      [root@redis-server RedisFullCheck]# sqlite3 result.db.3
      SQLite version 3.7.17 2013-05-20 00:56:22
      Enter ".help" for instructions
      Enter SQL statements terminated with a ";"
      sqlite> SELECT * FROM key;
      1|differentkey1|string|lack_target|0|10|0
      2|differentkey2|list|lack_target|0|4|0
      sqlite>
      Catatan

      Database SQLite3 berisi dua tabel: key dan field.

      • Tabel key menyimpan key yang tidak konsisten.

      • Untuk tipe data hash, set, zset, dan list, tabel field menyimpan detail tentang data yang tidak konsisten.