全部产品
Search
文档中心

Elastic Compute Service:Instal Redis pada Instance yang Dioptimalkan untuk Memori Persisten

更新时间:Jul 02, 2025

Instance Elastic Compute Service (ECS) yang dioptimalkan untuk memori persisten, seperti dan instance re6p-redis, memiliki rasio CPU-memori yang tinggi serta dapat menjalankan aplikasi Redis dengan biaya lebih rendah per GiB memori. Topik ini menjelaskan cara cepat menerapkan Redis pada instance yang dioptimalkan untuk memori persisten. Contoh-contoh dalam topik ini menggunakan sistem operasi tertentu.

Informasi latar belakang

Prosedur yang dijelaskan dalam topik ini hanya berlaku untuk jenis instance dan versi gambar berikut:

  • Tipe Instance: ecs.re6p-redis.large, ecs.re6p-redis.xlarge, ecs.re6p-redis.2xlarge, ecs.re6p-redis.4xlarge, dan ecs.re6p-redis.13xlarge

  • Versi Gambar:

    • Alibaba Cloud Linux 2

    • CentOS 7.6 dan yang lebih baru

    • Ubuntu 18.04 dan 20.04

Deploy Redis pada instance yang menjalankan Alibaba Cloud Linux 2

Alibaba Cloud Linux 2 telah dioptimalkan khusus untuk aplikasi Redis. Aplikasi Redis yang diterapkan pada Alibaba Cloud Linux 2 menunjukkan performa lebih dari 20% lebih unggul dibandingkan dengan aplikasi Redis yang diterapkan pada sistem operasi yang didukung komunitas.

Repositori YUM untuk Redis 6.0.5 dan Redis 3.2.12 sudah terpasang di Alibaba Cloud Linux 2. Anda dapat menjalankan perintah sudo yum install untuk menerapkan Redis 6.0.5 atau Redis 3.2.12. Untuk informasi lebih lanjut tentang penerapan versi lainnya, lihat bagian Deploy Redis pada Instance yang Menjalankan CentOS dan Deploy Redis pada Instance yang Menjalankan Ubuntu.

Konfigurasi berikut digunakan dalam contoh ini:

  • Tipe Instance: ecs.re6p-redis.2xlarge

  • Gambar: Alibaba Cloud Linux 2.1903 LTS 64-bit

  1. Beli instance yang dioptimalkan untuk memori persisten.

    Untuk informasi lebih lanjut, lihat Buat Instance di Tab Peluncuran Kustom. Perhatikan konfigurasi berikut:

    • Instance: Pilih Memory-optimized dari daftar drop-down x86 di bagian Arsitektur, lalu pilih tipe instance ecs.re6p-redis.2xlarge.

    • Image: Pilih Alibaba Cloud Linux 2.1903 LTS 64-bit.

  2. Masuk ke instance.

    Untuk informasi lebih lanjut, lihat Metode untuk Menghubungkan ke Instance ECS.

  3. Terapkan Redis 6.0.5 atau Redis 3.2.12 sesuai kebutuhan bisnis Anda.

    • Jalankan perintah berikut untuk menerapkan Redis 6.0.5:

      sudo yum install -y alinux-release-experimentals && \
      sudo yum install -y redis-6.0.5
    • Jalankan perintah berikut untuk menerapkan Redis 3.2.12:

      sudo yum install -y alinux-release-experimentals && \
      sudo yum install -y redis-3.2.12
  4. Mulai Redis dan konfigurasikan jumlah default memori biasa dan memori persisten yang dialokasikan ke Redis.

    Contoh perintah:

    • Jalankan perintah berikut untuk menyetel rasio memori biasa terhadap memori persisten menjadi nilai yang direkomendasikan yaitu 1:4:

      export MEMKIND_DAX_KMEM_NODES=1 && \
      sudo redis-server /etc/redis.conf --port 8369 --memory-alloc-policy ratio --dram-pmem-ratio 1 4 --hashtable-on-dram yes --daemonize yes --logfile /tmp/redis_8369.log --protected-mode no --bind 0.0.0.0
    • Anda dapat menentukan rasio memori biasa terhadap memori persisten yang berbeda dan mengalokasikan memori biasa tertentu ke aplikasi lain. Sebagai contoh, jalankan perintah berikut untuk menyetel rasio memori biasa terhadap memori persisten menjadi 1:16 dan mengalokasikan total 34 GiB memori ke Redis, termasuk 2 GiB memori biasa dan 32 GiB memori persisten:

      export MEMKIND_DAX_KMEM_NODES=1 && \
      sudo redis-server /etc/redis.conf --port 8369 --memory-alloc-policy ratio --dram-pmem-ratio 1 16 --maxmemory 34G

Deploy Redis pada instance yang menjalankan CentOS

Konfigurasi berikut digunakan dalam contoh ini:

  • Tipe Instance: ecs.re6p-redis.2xlarge

  • Gambar: CentOS 7.6

  • Redis: Redis 4.0.14

  • memkind: memkind 1.10.1-rc2

Catatan

Unduh sumber daya yang diperlukan dari https://github.com/ sebelum melakukan langkah-langkah berikut. Jika sumber daya tidak dapat diunduh dari GitHub, ulangi perintah terkait hingga sumber daya berhasil diunduh.

  1. Beli instance yang dioptimalkan untuk memori persisten.

    Untuk informasi lebih lanjut, lihat Buat Instance di Tab Peluncuran Kustom. Perhatikan konfigurasi berikut:

    • Instance: Pilih Memory-optimized dari daftar drop-down x86 di bagian Arsitektur, lalu pilih tipe instance ecs.re6p-redis.2xlarge.

    • Image: Pilih CentOS 7.6 64-bit.

  2. Masuk ke instance.

    Untuk informasi lebih lanjut, lihat Metode untuk Menghubungkan ke Instance ECS.

  3. Persiapkan lingkungan kompilasi.

    export MEMKIND_DAX_KMEM_NODES=1 && \
    sudo yum -y install numactl-devel.x86_64 && \
    sudo yum -y groupinstall 'Development Tools'
  4. Persiapkan kode sumber Redis 4.0.14.

    sudo wget https://github.com/redis-io/redis/archive/4.0.14.tar.gz && \
    sudo wget https://github.com/redis/redis/compare/4.0.14...tieredmemdb:4.0.14-devel.diff -O redis_4.0.14_diff_tieredmemdb.patch && \
    tar xzvf 4.0.14.tar.gz && \
    cd redis-4.0.14 && \
    git apply --ignore-whitespace ../redis_4.0.14_diff_tieredmemdb.patch
    Catatan

    Patch ini digunakan untuk mengaktifkan memori persisten dan bervariasi berdasarkan versi Redis. Untuk informasi lebih lanjut, lihat bagian Unduh Patch yang Mengaktifkan Redis untuk Menggunakan Memori Persisten.

  5. Persiapkan kode sumber memkind.

    memkind adalah alat manajemen memori yang digunakan untuk mengalokasikan dan mengelola memori persisten.

    1. Unduh kode sumber memkind.

      sudo wget https://github.com/memkind/memkind/archive/v1.10.1-rc2.tar.gz && \
      tar xzvf v1.10.1-rc2.tar.gz && \
      mv memkind-1.10.1-rc2/* ./deps/memkind
    2. Opsional: Sesuaikan Makefile.

      Catatan

      Anda dapat menjalankan perintah ldd --version untuk melihat versi glibc. Jika versi glibc adalah 2.17 atau lebih baru, lewati operasi berikut dan kompilasi Redis.

      cd ./deps/memkind && \
      sudo wget https://github.com/memKeyDB/memKeyDB/wiki/files/0001-Use-secure_getenv-when-possible.patch && \
      git apply --ignore-whitespace 0001-Use-secure_getenv-when-possible.patch && \
      cd ../../
      Catatan

      Jika patch tidak dapat diunduh, jalankan perintah yang tidak mencakup perintah cd ./deps/memkind && \.

  6. Kompilasi dan instal Redis.

    make clean && \
    make distclean && \
    make MALLOC=memkind -j 4 && \
    sudo make install
  7. Mulai Redis dan konfigurasikan jumlah default memori biasa dan memori persisten yang dialokasikan ke Redis.

    Contoh perintah:

    Catatan

    Ganti /home/user dengan direktori pengguna aktual.

    • Jalankan perintah berikut untuk menyetel rasio memori biasa terhadap memori persisten menjadi nilai yang direkomendasikan yaitu 1:4:

      redis-server /home/user/redis-4.0.14/redis.conf --port 8369 --memory-alloc-policy ratio --dram-pmem-ratio 1 4 --hashtable-on-dram yes --daemonize yes --logfile /tmp/redis_8369.log --protected-mode no --bind 0.0.0.0
    • Anda dapat menentukan rasio memori biasa terhadap memori persisten yang berbeda dan mengalokasikan memori biasa tertentu ke aplikasi lain. Sebagai contoh, jalankan perintah berikut untuk menyetel rasio memori biasa terhadap memori persisten menjadi 1:16 dan mengalokasikan total 34 GiB memori ke Redis, termasuk 2 GiB memori biasa dan 32 GiB memori persisten:

      redis-server /home/user/redis-4.0.14/redis.conf --port 8369 --memory-alloc-policy ratio --dram-pmem-ratio 1 16 --maxmemory 34G

Deploy Redis pada instance yang menjalankan Ubuntu

Konfigurasi berikut digunakan dalam contoh ini:

  • Tipe Instance: ecs.re6p-redis.2xlarge

  • Gambar: Ubuntu 20.04

  • Redis: Redis 6.2.5

  • memkind: memkind 1.10.1-rc2

Catatan

Unduh sumber daya yang diperlukan dari https://github.com/ sebelum melakukan langkah-langkah berikut. Jika sumber daya tidak dapat diunduh dari GitHub, ulangi perintah terkait hingga sumber daya berhasil diunduh.

  1. Beli instance yang dioptimalkan untuk memori persisten.

    Untuk informasi lebih lanjut, lihat Buat Instance di Tab Peluncuran Kustom. Perhatikan konfigurasi berikut:

    • Instance: Pilih Memory-optimized dari daftar drop-down x86 di bagian Arsitektur, lalu pilih tipe instance ecs.re6p-redis.2xlarge.

    • Image: Pilih Ubuntu 20.04 64-bit.

  2. Masuk ke instance.

    Untuk informasi lebih lanjut, lihat Metode untuk Menghubungkan ke Instance ECS.

  3. Persiapkan lingkungan kompilasi.

    export MEMKIND_DAX_KMEM_NODES=1 && \
    sudo apt update && \
    sudo apt -y install git && \
    sudo apt install -y libnuma-dev && \
    sudo apt install -y numactl
  4. Persiapkan kode sumber Redis 6.2.5.

    sudo wget https://download.redis.io/releases/redis-6.2.5.tar.gz && \
    sudo wget https://github.com/redis/redis/compare/6.2.5...tieredmemdb:6.2.5-devel.diff -O redis_6.2.5_diff_tieredmemdb.patch && \
    tar xzf redis-6.2.5.tar.gz && \
    cd redis-6.2.5 && \
    git apply --ignore-whitespace ../redis_6.2.5_diff_tieredmemdb.patch
    Catatan

    Patch ini digunakan untuk mengaktifkan memori persisten dan bervariasi berdasarkan versi Redis. Untuk informasi lebih lanjut, lihat bagian Unduh Patch yang Mengaktifkan Redis untuk Menggunakan Memori Persisten.

  5. Persiapkan kode sumber memkind.

    memkind adalah alat manajemen memori yang digunakan untuk mengalokasikan dan mengelola memori persisten.

    1. Unduh kode sumber memkind.

      sudo wget https://github.com/memkind/memkind/archive/v1.10.1-rc2.tar.gz && \
      tar xzvf v1.10.1-rc2.tar.gz && \
      mv memkind-1.10.1-rc2/* ./deps/memkind/
    2. Sesuaikan Makefile.

      Catatan

      Anda dapat menjalankan perintah ldd --version untuk melihat versi glibc. Jika versi glibc adalah 2.17 atau lebih baru, lewati operasi berikut dan kompilasi Redis.

      cd ./deps/memkind && \
      sudo wget --no-check-certificate https://github.com/memKeyDB/memKeyDB/wiki/files/0001-Use-secure_getenv-when-possible.patch && \
      git apply --ignore-whitespace 0001-Use-secure_getenv-when-possible.patch && \
      cd ../../
      Catatan

      Jika patch tidak dapat diunduh, jalankan perintah yang tidak mencakup perintah cd ./deps/memkind && \.

  6. Kompilasi dan instal Redis.

    make clean && \
    make distclean && \
    make MALLOC=memkind -j 4 && \
    sudo make install
  7. Mulai Redis dan konfigurasikan jumlah default memori biasa dan memori persisten yang dialokasikan ke Redis.

    Contoh perintah:

    Catatan

    Ganti /home/user dengan direktori pengguna aktual.

    • Jalankan perintah berikut untuk menyetel rasio memori biasa terhadap memori persisten menjadi nilai yang direkomendasikan yaitu 1:4:

      redis-server /home/user/redis-6.2.5/redis.conf --port 8369 --memory-alloc-policy ratio --dram-pmem-ratio 1 4 --hashtable-on-dram yes --daemonize yes --logfile /tmp/redis_8369.log --protected-mode no --bind 0.0.0.0
    • Anda dapat menentukan rasio memori biasa terhadap memori persisten yang berbeda dan mengalokasikan memori biasa tertentu ke aplikasi lain. Sebagai contoh, jalankan perintah berikut untuk menyetel rasio memori biasa terhadap memori persisten menjadi 1:16 dan mengalokasikan total 34 GiB memori ke Redis, termasuk 2 GiB memori biasa dan 32 GiB memori persisten:

      redis-server /home/user/redis-6.2.5/redis.conf --port 8369 --memory-alloc-policy ratio --dram-pmem-ratio 1 16 --maxmemory 34G

Unduh patch yang mengaktifkan Redis untuk menggunakan memori persisten

Dalam perintah contoh, ganti URL unduhan dan nomor versi yang sesuai dengan nama file. Sebagai contoh, jalankan perintah berikut untuk mengunduh patch yang cocok untuk Redis 6.2.5:

sudo wget https://github.com/redis/redis/compare/6.2.5...tieredmemdb:6.2.5-devel.diff -O redis_6.2.5_diff_tieredmemdb.patch

Berikut ini menyediakan URL unduhan untuk patch yang didukung: