redis資料保存天數

来源:7-14 session存入redis

johnkeng

2019-09-28

老師,請問一下
我們在設置cookie的時候不是有配置其過期時間嗎?
會不會過一定的時間後,
redis裏頭的session資料太多,
導致redis崩潰,
有沒有辦法讓redis也設置session資料保存天數?

写回答

2回答

双越

2019-09-29

如果是自己实现 redis 的 set 方法,可以参考

/**

 * redis set

 * @param {string} key key

 * @param {string|Object} val val

 * @param {number} timeout 过期时间,单位 s ,默认 1h

 */

function set(key, val, timeout = 60 * 60) {

    if (typeof val === 'object') {

        val = JSON.stringify(val)

    }

    redisClient.set(key, val)

    redisClient.expire(key, timeout)

}

1
0

双越

2019-09-29

另外,课程最后讲到在 koa2 配置 session 并存储到 redis 。按照那个配置,会默认设置 redis 的过期时间和 cookie 过期时间一致,所以不用我们自己单独设置 redis 过期时间了。

可在 redis-cli 中用 TTL <key> 来查看剩余过期时间,文档参考 https://redis.io/commands/expire#examples 

0
0

Node.js+Express+Koa2+Nest.js 开发服务端

从入门到实战,一站式掌握 Node.js+Express+Koa2

4051 学习 · 2006 问题

查看课程