es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Por qué estoy recibiendo el “ReplyError: ERR unknown command JSON.SET” con Redis?

Estaba tratando de establecer JSON como valor en Redis, y obtengo un error para el siguiente código:

const createClient = require('redis');


async function redisJSONDemo () {
  try {
    const TEST_KEY = 'test_node';

    const client = createClient.createClient();
    await client.connect();

    // RedisJSON utiliza la sintaxis de JSON Path. '.' es la raíz.
    await client.json.set(TEST_KEY, '.', { node: 'blah' });
    const value = await client.json.get(TEST_KEY, {
      // JSON Path: .node = el elemento llamado 'node' en el nivel raíz.
      path: '.node'
    });

    console.log(`value of node: ${value}`);

    await client.quit();
  } catch (e) {
    console.error(e);
  }
}

redisJSONDemo();

Error:

ReplyError: ERR unknown command JSON.SET, with args beginning with: test_node, ., {“node”:”blah”},

¿Cómo se puede solucionar?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    El error indica que el servidor Redis no reconoce el comando JSON.SET, lo que significa que es posible que el servidor Redis no tenga instalado o habilitado el módulo RedisJSON.

    Para solucionar el error, puedes seguir los siguientes pasos:

    1. Verificar si el módulo RedisJSON está instalado: Puedes utilizar Redis CLI para verificar si RedisJSON está instalado o no, usando el siguiente comando:
      redis-cli module list
      

      Esto te mostrará la lista de módulos Redis instalados. Si RedisJSON no aparece en la lista, significa que necesitas instalarlo.

    2. Instalar el módulo RedisJSON: Puedes instalar el módulo RedisJSON siguiendo las instrucciones en la documentación oficial de RedisJSON. Por lo general, puedes instalarlo utilizando el sistema de módulos Redis, de la siguiente manera:

      redis-cli --eval https://raw.githubusercontent.com/RedisJSON/RedisJSON/master/demo/install-redisjson.lua
      

      Esto descargará y ejecutará el script de instalación de RedisJSON.

    3. Reiniciar el servidor Redis: Después de instalar o habilitar RedisJSON, reinicia tu servidor Redis para asegurarte de que los cambios surtan efecto.

    Una vez que hayas realizado estos pasos, intenta ejecutar tu código nuevamente y debería funcionar sin errores.

Comments are closed.