Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
具有TTL的Redis多集_Redis_Key Value Store_Ttl - Fatal编程技术网

具有TTL的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

在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 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)