Todos os produtos
Search
Central de documentação

Elastic Compute Service:Install Redis applications on instances with persistent memory

Última atualização: Jul 03, 2026

Instâncias com memória persistente, como re7p, r7p e re6p-redis, oferecem alta proporção de CPU para memória. Isso permite executar aplicativos Redis com custo por GiB de memória muito menor. Este tópico descreve como implantar rapidamente aplicativos Redis nessas instâncias em diversos sistemas operacionais.

re7p, r7p,

Informações básicas

As etapas de implantação rápida de aplicativos Redis deste tópico aplicam-se a tipos de instância e versões de imagem específicos. Os requisitos são:

  • Tipo de instância: ecs.re6p-redis.large, ecs.re6p-redis.xlarge, ecs.re6p-redis.2xlarge, ecs.re6p-redis.4xlarge, ecs.re6p-redis.13xlarge

  • Versões de imagem

    • Alibaba Cloud Linux 2

    • CentOS 7.6 ou posterior

    • Ubuntu 18.04 e 20,04

Implantar aplicativos Redis no Alibaba Cloud Linux 2

O Alibaba Cloud Linux 2 é otimizado especificamente para aplicativos Redis. Ele melhora o desempenho geral desses aplicativos em mais de 20% em comparação aos sistemas operacionais da comunidade.

O Alibaba Cloud Linux 2 inclui fontes yum integradas para Redis 6.0.5 e Redis 3.2.12. Execute o comando sudo yum install para implantar essas versões. Também é possível implantar manualmente outras versões do Redis. Para obter mais informações, consulte Implantar aplicativos Redis no CentOS e Implantar aplicativos Redis no Ubuntu.

Os recursos nesta seção têm a seguinte configuração:

  • Tipo de instância: ecs.re6p-redis.2xlarge

  • Imagem: Alibaba Cloud Linux 2.1903 LTS 64 bits

  1. Adquira uma instância de memória persistente.

    Para obter mais informações, consulte Criar uma instância personalizada. Observe as seguintes configurações:

    • Instance: Na arquitetura x86-Compute, clique em Memory-optimized Type e selecione o tipo de instância ecs.re6p-redis.2xlarge.

    • Images: Selecione Alibaba Cloud Linux 2.1903 LTS 64-bit.

  2. Faça login na instância.

    Para obter mais informações, consulte Métodos de conexão.

  3. Implante o Redis 6.0.5 ou Redis 3.2.12 conforme necessário.

    • Para implantar o Redis 6.0.5:

      sudo yum install -y alinux-release-experimentals && \
      sudo yum install -y redis-6.0.5
    • Para implantar o Redis 3.2.12:

      sudo yum install -y alinux-release-experimentals && \
      sudo yum install -y redis-3.2.12
  4. Inicie o aplicativo Redis e configure a capacidade de DRAM e memória persistente.

    Exemplos de comandos:

    • A proporção recomendada de DRAM para memória persistente é 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
    • Também é possível personalizar a proporção de DRAM para memória persistente e reservar parte da DRAM para outros aplicativos. Por exemplo, defina a proporção como 1:16 e aloque 34 GiB de memória, sendo 2 GiB de DRAM e 32 GiB de memória persistente.

      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

Implantar aplicativos Redis no CentOS

Os recursos e softwares nesta seção têm a seguinte configuração:

  • Tipo de instância: ecs.re6p-redis.2xlarge

  • Imagem: CentOS 7.6

  • Redis: Redis 4.0.14

  • memkind: memkind 1.10.1-rc2

Nota

Certifique-se de baixar os recursos de https://github.com/ antes de prosseguir. Se um download falhar, execute o comando novamente até obter sucesso.

  1. Adquira uma instância de memória persistente.

    Para obter mais informações, consulte Criar uma instância personalizada. Observe as seguintes configurações:

    • Instance: Para a arquitetura x86-Compute, clique em Memory-optimized Type e selecione o tipo de instância ecs.re6p-redis.2xlarge.

    • Images: Selecione CentOS 7.6 (64-bit).

  2. Faça login na instância.

    Para obter mais informações, consulte Métodos de conexão.

  3. Prepare o ambiente de compilação.

    export MEMKIND_DAX_KMEM_NODES=1 && \
    sudo yum -y install numactl-devel.x86_64 && \
    sudo yum -y groupinstall 'Development Tools'
  4. Prepare o código-fonte do 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
    Nota

    Este patch habilita a memória persistente. Diferentes versões do Redis exigem patches diferentes. Para obter mais informações, consulte Baixar patches para habilitar memória persistente.

  5. Prepare o código-fonte do memkind.

    O memkind é uma ferramenta de gerenciamento de memória usada para alocar e gerenciar memória persistente.

    1. Baixe o código-fonte do 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. Opcional: Ajuste o makefile.

      Nota

      Execute ldd --version para verificar a versão do glibc. Caso a versão do glibc seja 2.17 ou posterior, ignore as etapas a seguir e compile o Redis diretamente.

      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 ../../
      Nota

      Se o download do patch falhar, não inclua cd ./deps/memkind && \ ao executar o comando novamente.

  6. Compile e instale o Redis.

    make clean && \
    make distclean && \
    make MALLOC=memkind -j 4 && \
    sudo make install
  7. Inicie o aplicativo Redis e configure a capacidade de DRAM e memória persistente.

    Exemplos de comandos:

    Nota

    Substitua /home/user pela pasta real do usuário.

    • A proporção recomendada de DRAM para memória persistente é 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
    • Também é possível personalizar a proporção de DRAM para memória persistente e reservar parte da DRAM para outros aplicativos. Por exemplo, defina a proporção como 1:16 e aloque 34 GiB de memória, sendo 2 GiB de DRAM e 32 GiB de memória persistente.

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

Implantar aplicativos Redis no Ubuntu

Os recursos e softwares nesta seção têm a seguinte configuração:

  • Tipo de instância: ecs.re6p-redis.2xlarge

  • Imagem: Ubuntu 20,04

  • Redis: Redis 6.2.5

  • memkind: memkind 1.10.1-rc2

Nota

Antes de prosseguir, certifique-se de baixar os recursos de https://github.com/. Se um download falhar, execute o comando novamente até obter sucesso.

  1. Adquira uma instância otimizada para memória persistente.

    Para obter mais informações, consulte Criar uma instância personalizada. Observe as seguintes configurações:

    • Instance: Na seção de arquitetura x86-Compute, clique em Memory-optimized Type e selecione o tipo de instância ecs.re6p-redis.2xlarge.

    • Images: Selecione Ubuntu 20,04 64-bit.

  2. Faça login na instância.

    Para obter mais informações, consulte Métodos de conexão.

  3. Prepare o ambiente de compilação.

    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. Prepare o código-fonte do 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
    Nota

    O patch serve para habilitar a memória persistente. Diferentes versões do Redis exigem patches diferentes. Para obter mais informações, consulte Baixar patches para habilitar memória persistente.

  5. Prepare o código-fonte do memkind.

    O memkind é uma ferramenta de gerenciamento de memória usada para alocar e gerenciar memória persistente.

    1. Baixe o código-fonte do 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. Ajuste o makefile.

      Nota

      Execute ldd --version para verificar a versão do glibc. Caso a versão do glibc seja 2.17 ou posterior, ignore as etapas a seguir e compile o Redis diretamente.

      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 ../../
      Nota

      Se o download do patch falhar, não inclua cd ./deps/memkind && \ ao executar o comando novamente.

  6. Compile e instale o Redis.

    make clean && \
    make distclean && \
    make MALLOC=memkind -j 4 && \
    sudo make install
  7. Inicie o aplicativo Redis e configure a capacidade de DRAM e memória persistente.

    Exemplos de comandos:

    Nota

    Substitua /home/user pelo caminho da pasta real do usuário.

    • A proporção recomendada de DRAM para memória persistente é 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
    • Também é possível personalizar a proporção de DRAM para memória persistente e reservar parte da DRAM para outros aplicativos. Por exemplo, defina a proporção como 1:16 e aloque 34 GiB de memória, compostos por 2 GiB de DRAM e 32 GiB de memória persistente.

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

Baixar patches para habilitar memória persistente

Substitua a URL de download e o número da versão no nome do arquivo no comando de exemplo. Por exemplo, o comando para baixar o patch do 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

As URLs de download dos patches compatíveis são: