express - Redis是否实现touch方法?

标签 express session redis

这对于理解配置目的很重要。

如果它确实实现了touch方法,那么我可以安全地将resave设置为false

session({
  // blah blah
  resave: false
});

由于文档页面上尚不存在可用的信息,我将如何进行调查。

我确实找到了这个,但我认为这是不同的touch()

https://redis.io/commands/touch

最佳答案

是的,用于快速 session 的redis连接器实现了touch。如果查看relevant portion of the source(即redis支持express-session的方式)的connect-redis module,您会发现它确实实现了touch方法,除非传递了禁用它的选项。

以下是相关来源:

touch(sid, sess, cb = noop) {
  if (this.disableTouch) return cb()

  let key = this.prefix + sid
  this.client.expire(key, this._getTTL(sess), (err, ret) => {
    if (err) return cb(err)
    if (ret !== 1) return cb(null, 'EXPIRED')
    cb(null, 'OK')
  })
}

关于express - Redis是否实现touch方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60801995/

相关文章:

javascript - 唯一标识重复的 Chrome 标签页

c# - 如何正确模拟 HttpSessionStateBase 中的 KeysCollection?

java - session 感知 : How can I get session attribute from action

time - redis:EVAL 和 TIME

javascript - 如何破译 Node js中在javascript中的加密js中加密的字符串

javascript - Nginx node.js express 下载大文件停在 1.08GB

express - SCSS 和 Express JS

node.js - 使用 Passport 、express、nodejs 进行 Metamask 身份验证

redis - Redis 与其他数据库(如 sql 或 mongodb)在内存或存储方面的区别?

redis - 有没有办法在redis中以原子方式执行get和set?