具有TTL的Redis多集
在redis中有一个具有TTL的Redis多集,redis,key-value-store,ttl,Redis,Key Value Store,Ttl,在redis中有一个SETEX命令,允许我设置过期的密钥,这个命令是否有一个多集版本,也有一个TTL MSET和MSETNX命令都没有这样的选项。我也在寻找这种操作。我什么也没找到,所以我用MULTI/EXEC做了: MULTI expire key1 expire key2 expire key3 EXEC EVAL“N键1键2。。。值1 ttl1值2 ttl2。。。 很遗憾,我们无法设置mset过期,为使用nodejs和redis lib的用户提供解决方案: // expires the
SETEX
命令,允许我设置过期的密钥,这个命令是否有一个多集版本,也有一个TTL
MSET
和MSETNX
命令都没有这样的选项。我也在寻找这种操作。我什么也没找到,所以我用MULTI/EXEC做了:
MULTI
expire key1
expire key2
expire key3
EXEC
EVAL“N键1键2。。。值1 ttl1值2 ttl2。。。
很遗憾,我们无法设置mset过期,为使用nodejs和redis lib的用户提供解决方案:
// expires the key at next mid-night
let now = moment()
let endOfDay = moment().endOf('day')
let timeToLiveInSeconds = endOfDay.diff(now, 'seconds')
redisClient.expire(keyName, timeToLiveInSeconds)
我希望它有帮助这也是我最后做的。它可能非常慢,我是说如何在Java上执行。。有人会想,2018年怎么还不存在这种情况。又过了一年,2019年也会想:(2020年也是如此。)2021年说你好……2021年(几乎)3月也会打招呼。
// expires the key at next mid-night
let now = moment()
let endOfDay = moment().endOf('day')
let timeToLiveInSeconds = endOfDay.diff(now, 'seconds')
redisClient.expire(keyName, timeToLiveInSeconds)