redis 如何在读取前验证Jedis连接?

zc0qhyus  于 2023-03-22  发布在  Redis
关注(0)|答案(1)|浏览(109)

我有一个使用jedis从redis读取的服务。显然,我不打算为每个GET请求建立新的连接,但好奇的是,如果由于连接失败而导致读取失败,我需要什么样的防护栏?为了清理空闲连接,我在服务器端配置了timeout。参考link
有没有哪位jedis/redis的Maven能给我推荐一个最理想的方法来保持延迟。我能想到的有以下几种,如果有更好的方法,请建议
1.如果由于连接失败导致读取失败,请尝试重新建立连接,然后再次读取。
1.在每次读取之前,验证jedis.isBroken()jedis.isConnected()。我应该验证两者还是其中一个就足够了?
1.执行jedis.ping()并在成功时只读取,否则尝试重新建立连接。

v8wbuo2f

v8wbuo2f1#

使用ioredis包的nodejs

function connect() {

  let isConnected = false

  redis = new Redis(process.env.REDIS_URL)

  redis.on('connect', async (err) => {
    console.log('Redis Connected')
    isConnected = true
  })
  
  redis.on('error', async (err) => {
    console.log(err)
    isConnected = false
  })
}

你可以这样知道

相关问题