Todos los productos
Search
Centro de documentos

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

Última actualización: Sep 02, 2026

Las instancias con memoria persistente, como re7p, r7p y re6p-redis, ofrecen una alta proporción de CPU respecto a la memoria. Esto permite ejecutar aplicaciones Redis con un costo por GiB de memoria mucho menor. Este tema describe cómo desplegar rápidamente aplicaciones Redis en estas instancias para varios sistemas operativos.

re7p, r7p,

Contexto

Los pasos para desplegar rápidamente aplicaciones Redis en este tema aplican a tipos de instancia y versiones de imagen específicos. Los requisitos son los siguientes:

  • Tipo de instancia: ecs.re6p-redis.large, ecs.re6p-redis.xlarge, ecs.re6p-redis.2xlarge, ecs.re6p-redis.4xlarge, ecs.re6p-redis.13xlarge

  • Versiones de imagen

    • Alibaba Cloud Linux 2

    • CentOS 7.6 y posteriores

    • Ubuntu 18.04 y 20.04

Despliegue de aplicaciones Redis en Alibaba Cloud Linux 2

Alibaba Cloud Linux 2 está optimizado específicamente para aplicaciones Redis. Mejora el rendimiento general de las aplicaciones Redis en más del 20% en comparación con los sistemas operativos de la comunidad.

Alibaba Cloud Linux 2 incluye fuentes yum integradas para Redis 6.0.5 y Redis 3.2.12. Puede ejecutar el comando sudo yum install para desplegar estas versiones. También puede desplegar manualmente otras versiones de Redis. Para obtener más información, consulte Deploy Redis applications in CentOS y Deploy Redis applications in Ubuntu.

Los recursos en esta sección se configuran de la siguiente manera:

  • Tipo de instancia: ecs.re6p-redis.2xlarge

  • Imagen: Alibaba Cloud Linux 2.1903 LTS 64-bit

  1. Adquiera una instancia con memoria persistente.

    Para obtener más información, consulte Create a custom instance. Tenga en cuenta las siguientes configuraciones:

    • Instance: En la arquitectura x86-Compute, haga clic en Memory-optimized Type y seleccione el tipo de instancia ecs.re6p-redis.2xlarge.

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

  2. Inicie sesión en la instancia.

    Para obtener más información, consulte Connection methods.

  3. Despliegue Redis 6.0.5 o Redis 3.2.12 según sea necesario.

    • Para desplegar Redis 6.0.5:

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

      sudo yum install -y alinux-release-experimentals && \
      sudo yum install -y redis-3.2.12
  4. Inicie la aplicación Redis y configure la capacidad de DRAM y memoria persistente.

    A continuación se muestran ejemplos de comandos:

    • La proporción recomendada de DRAM a memoria persistente es de 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
    • También puede personalizar la proporción de DRAM a memoria persistente para reservar parte de la DRAM para otras aplicaciones. Por ejemplo, puede establecer la proporción en 1:16 y asignar 34 GiB de memoria, lo que incluye 2 GiB de DRAM y 32 GiB de memoria 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

Despliegue de aplicaciones Redis en CentOS

Los recursos y el software en esta sección se configuran de la siguiente manera:

  • Tipo de instancia: ecs.re6p-redis.2xlarge

  • Imagen: CentOS 7.6

  • Redis: Redis 4.0.14

  • memkind: memkind 1.10.1-rc2

Nota

Asegúrese de que los recursos se descarguen desde https://github.com/ antes de continuar. Si falla una descarga, vuelva a ejecutar el comando hasta que la descarga se complete correctamente.

  1. Adquiera una instancia con memoria persistente.

    Para obtener más información, consulte Create a custom instance. Tenga en cuenta las siguientes configuraciones:

    • Instance: Para la arquitectura x86-Compute, haga clic en Memory-optimized Type y seleccione el tipo de instancia ecs.re6p-redis.2xlarge.

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

  2. Inicie sesión en la instancia.

    Para obtener más información, consulte Connection methods.

  3. Prepare el entorno de compilación.

    export MEMKIND_DAX_KMEM_NODES=1 && \
    sudo yum -y install numactl-devel.x86_64 && \
    sudo yum -y groupinstall 'Development Tools'
  4. Prepare el código fuente de 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 parche habilita la memoria persistente. Las diferentes versiones de Redis requieren distintos parches. Para obtener más información, consulte Download patches to enable persistent memory.

  5. Prepare el código fuente de memkind.

    memkind es una herramienta de gestión de memoria que se utiliza para asignar y administrar memoria persistente.

    1. Descargue el código fuente de 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 el makefile.

      Nota

      Puede ejecutar ldd --version para comprobar la versión de glibc. Si la versión de glibc es 2.17 o posterior, puede omitir los siguientes pasos y compilar Redis directamente.

      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

      Si falla la descarga del parche, no incluya cd ./deps/memkind && \ cuando vuelva a ejecutar el comando.

  6. Compile e instale Redis.

    make clean && \
    make distclean && \
    make MALLOC=memkind -j 4 && \
    sudo make install
  7. Inicie la aplicación Redis y configure la capacidad de DRAM y memoria persistente.

    A continuación se muestran ejemplos de comandos:

    Nota

    Reemplace /home/user con la carpeta de usuario real.

    • La proporción recomendada de DRAM a memoria persistente es de 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
    • También puede personalizar la proporción de DRAM a memoria persistente para reservar parte de la DRAM para otras aplicaciones. Por ejemplo, puede establecer la proporción en 1:16 y asignar 34 GiB de memoria, lo que incluye 2 GiB de DRAM y 32 GiB de memoria persistente.

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

Despliegue de aplicaciones Redis en Ubuntu

Los recursos y el software en esta sección se configuran de la siguiente manera:

  • Tipo de instancia: ecs.re6p-redis.2xlarge

  • Imagen: Ubuntu 20.04

  • Redis: Redis 6.2.5

  • memkind: memkind 1.10.1-rc2

Nota

Antes de continuar, asegúrese de que los recursos se descarguen desde https://github.com/. Si falla una descarga, vuelva a ejecutar el comando hasta que la descarga se complete correctamente.

  1. Adquiera una instancia optimizada para memoria persistente.

    Para obtener más información, consulte Create a custom instance. Tenga en cuenta las siguientes configuraciones:

    • Instance: En la sección de arquitectura x86-Compute, haga clic en Memory-optimized Type y seleccione el tipo de instancia ecs.re6p-redis.2xlarge.

    • Images: Seleccione Ubuntu 20.04 64-bit.

  2. Inicie sesión en la instancia.

    Para obtener más información, consulte Connection methods.

  3. Prepare el entorno de compilación.

    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 el código fuente de 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

    El parche se utiliza para habilitar la memoria persistente. Las diferentes versiones de Redis requieren distintos parches. Para obtener más información, consulte Download patches to enable persistent memory.

  5. Prepare el código fuente de memkind.

    memkind es una herramienta de gestión de memoria que se utiliza para asignar y administrar memoria persistente.

    1. Descargue el código fuente de 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 el makefile.

      Nota

      Puede ejecutar ldd --version para comprobar la versión de glibc. Si la versión de glibc es 2.17 o posterior, puede omitir los siguientes pasos y compilar Redis directamente.

      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

      Si falla la descarga del parche, no incluya cd ./deps/memkind && \ cuando vuelva a ejecutar el comando.

  6. Compile e instale Redis.

    make clean && \
    make distclean && \
    make MALLOC=memkind -j 4 && \
    sudo make install
  7. Inicie la aplicación Redis y configure la capacidad de DRAM y memoria persistente.

    A continuación se muestran ejemplos de comandos:

    Nota

    Reemplace /home/user con la ruta a la carpeta de usuario real.

    • La proporción recomendada de DRAM a memoria persistente es de 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
    • También puede personalizar la proporción de DRAM a memoria persistente para reservar parte de la DRAM para otras aplicaciones. Por ejemplo, puede establecer la proporción en 1:16 y asignar 34 GiB de memoria, compuesta por 2 GiB de DRAM y 32 GiB de memoria persistente.

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

Descarga de parches para habilitar la memoria persistente

Reemplace la URL de descarga y el número de versión en el nombre del archivo dentro del comando de ejemplo. Por ejemplo, el comando para descargar el parche para Redis 6.2.5 es el siguiente:

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

Las URL de descarga para los parches compatibles son las siguientes: