Cómo almacenar datos de aplicaciones en caché con Memcache de Redis Labs

Puedes usar Memcached Cloud de Redis Labs para almacenar en caché los datos de aplicación. Memcached Cloud es un servicio administrado por completo que ofrece una variedad de opciones para ejecutar Memcached.

Precios

Redis Labs ofrece un nivel gratuito que brinda 30 MB de almacenamiento en caché.

Cómo establecer la configuración

Para usar Memcached Cloud de Redis Labs:

  1. Regístrate con una cuenta de Redis Labs.
  2. Crea un depósito Memcached con Memcached Cloud. Para la latencia más baja, crea el depósito de Memcache en la misma región que tu aplicación.
  3. Edita el depósito y configura el nombre de usuario y contraseña.
  4. Ten en cuenta el Endpoint del depósito.

Cómo instalar una biblioteca cliente de Memcached

Debido a que Redis Labs utiliza autenticación SASL, debes usar un cliente Memcached compatible con el protocolo binario y la autenticación SASL.

De forma predeterminada, el entorno de ejecución de PHP incluye la extensión memcached.

Cómo conectarse a Memcache de Redis Labs

Configura variables del entorno en tu app.yaml con el extremo, el nombre de usuario y la contraseña del servidor de Memcached para tu depósito de Memcached de Redis Labs.

env_variables:
  # Set your memcache endpoint here. This should be in the format "host:port"
  MEMCACHE_ENDPOINT: "YOUR_MEMCACHE_ENDPOINT"
  # If you are using a Memcached server with SASL authentiation enabled,
  # fill in these values with your username and password.
  MEMCACHE_USERNAME: ""
  MEMCACHE_PASSWORD: ""

Utiliza las variables del entorno en tu código de aplicación para configurar un cliente de Memcached:

$endpoint = getenv('MEMCACHE_ENDPOINT');
$username = getenv('MEMCACHE_USERNAME');
$password = getenv('MEMCACHE_PASSWORD');
$memcached = new Memcached;
if ($username && $password) {
    $memcached->setOption(Memcached::OPT_BINARY_PROTOCOL, true);
    $memcached->setSaslAuthData($username, $password);
}
list($host, $port) = explode(':', $endpoint);
if (!$memcached->addServer($host, $port)) {
    throw new Exception("Failed to add server $host:$port");
}

Cómo probar Memcached de forma local

Si quieres probar tu aplicación de forma local, aun así puedes conectarte a tu depósito de Memcached de Redis Labs. Sin embargo, tal vez quieras ejecutar una instancia local de Memcached y, de ese modo, evitar la interacción con los datos de producción.

Para ejecutar una instancia local de Memcached, instala un daemon de Memcached en tu SO:

Linux

  1. Usa el paquete Memcached.

    Para los derivados de Debian y Ubuntu:

    apt-get install memcached
    

    Para Red Hat, CentOS y Fedora, usa yum de la siguiente manera:

    yum install memcached
    

    Para Linux Arch:

    pacman -S memcached
    
  2. Ejecútalo como un daemon (o consulta systemd sobre un inicio automático):

    memcached -d
    

macOS

  1. Instala Homebrew.

  2. Instala memcached:

    brew install memcached
    
  3. Ejecútalo como un daemon:

    memcached -d
    

Windows

  1. Compila tu propio Memcached. Otra alternativa es descargar objetos binarios de software gratuito.

  2. Ejecútalo como un daemon:

    memcached -d
    
¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Entorno flexible de App Engine para documentos de PHP