redis怎样设置自动清除24小时之前的数据??
发布网友
发布时间:2022-04-22 01:06
我来回答
共1个回答
热心网友
时间:2023-07-30 14:26
PEXPIREAT KEY_NAME TIME_IN_MILLISECONDS_IN_UNIX_TIMESTAMP
设置成功返回 1 。 当 key 不存在或者不能为 key 设置过期时间时(比如在低于 2.1.3 版本的 Redis 中你尝试更新 key 的过期时间)返回 0 。
例子:
pexpireat redisKey ovar_time
redisKey :是redis 的key值 over_time 是当天的24点
var over_time = (Timer.getDayHour(Timer.now(), 0, 0, 0) * Timer._M_SEC) + Timer.OneDay;
Timer._M_SEC = 1000 这里设置的 ms数
Timer.OneDay = 24*60*60*1000; //86400000
Timer.now():当前时间 可以根据不同的语言更换对应的取值方式
/**
* @Brief: 获取指定时间( 秒数)当天某时候的秒数
*
* @param {Number} timeStampe 时间毫秒数
* @param {Number} hour 小时
* @param {Number} min 分钟
* @param {Number} sec 秒
* */
Timer.getDayHour = function (timeStampe, hour, min, sec) {
var nowDate = new Date(timeStampe);
nowDate.setHours(hour);
nowDate.setMinutes(min);
nowDate.setSeconds(sec);
return Math.floor(nowDate.getTime() / _M_SEC);
};