узел redis существует, функция иногда не работает - PullRequest
0 голосов
/ 10 декабря 2018

Я использую сервер Redis на локальном рабочем столе или на удаленном тестовом сервере.

Я хочу установить ключ, когда он не существует на сервере Redis.

, поэтому я проверяю, существует ли ключ в следующем коде

функция соединения

let pool;

// Redis Connect
export const connect = async () => {
  try {
    if (!pool) {
      pool = await redis.createClient({
        host: RedisConf.connect.name,
        port: RedisConf.connect.port,
        db: 0
      });
    }
  } catch (err) {
    console.log(`Redis Connect Error - ${err}`);
  }
  return pool;
};

существует функция

export const exists = async pKey => {
  const rds = await connect();
  let existsResult;
  try {
    existsResult = await rds.exists(pKey);
    console.log(existsResult);
  } catch (err) {
    console.log(`Exists Command Error - `, err);
  }
  return existsResult;
};

### using above code on my custom middleware module
// is write in side of async function
 const redisKey = `${RedisConf.keyName.app}:${authKey}`;
    // Check Is In Redis Server
    let isRedisExists = await RedisUtil.exists(redisKey);
    isRedisExists = Boolean(isRedisExists);
    console.log(`isRedisExists => ${isRedisExists} => ${!isRedisExists}`);
    try {
      if (!isRedisExists) {
        console.log(`redis Set Process => start`);
        // Do something
      ]
    }catch(err){
    // Do something
   }

проблема с github: https://github.com/NodeRedis/node_redis/issues/1400#issue-389113321

Как я могу решить вышеуказанную проблему ??

...