从您的标签中我看到 php
因此您的代码可能是:
$id = 3453451244;
$int = 1;
if ($redis->get("active:$id") === false) {
$redis->set("active:$id", $int);
$redis->expire("active:$id", 86400);
} else {
$_timePassed = $redis->ttl("active:$id");
$redis->set("active:$id", $redis->get("active:$botid") + 1);
$redis->expire("active:$id", $_timePassed);
}
说明:
首先为我设置键和其过期时间,我将其设置为一天,您可以使用以下代码:
function seconds2human($ss) {
$s = $ss%60;
$m = floor(($ss%3600)/60);
$h = floor(($ss%86400)/3600);
$d = floor(($ss%2592000)/86400);
$M = floor($ss/2592000);
return "$M months, $d days, $h hours, $m minutes, $s seconds";
}
将秒转换为 $M 个月,$d 天,$h 小时,$m 分钟,$s 秒
第二点:
您必须将 ttl 保存在一个变量中..($_timePassed)
并使用 set&expire 来设置您的新值...
如果您想重置为原始时间,只需更改 ($_timePassed) 变量为您的原始时间(以秒为单位)
$_timePassed = 86400; // 1 day
我在 PHP 中使用这个 Redis 库:
https://github.com/phpredis/phpredis#expire-settimeout-pexpire
希望这回答了你的问题。