int Ardb::Expire(Context& ctx, RedisCommandFrame& cmd) { uint64 v = 0; if (!check_uint64_arg(ctx.reply, cmd.GetArguments()[1], v)) { return 0; } int err = GenericExpire(ctx, cmd.GetArguments()[0], v * 1000 + get_current_epoch_millis()); fill_int_reply(ctx.reply, err == 0 ? 1 : 0); return 0; }
int Ardb::PExpireat(Context& ctx, RedisCommandFrame& cmd) { uint64 v = 0; if (!check_uint64_arg(ctx.reply, cmd.GetArguments()[1], v)) { return 0; } int err = GenericExpire(ctx, cmd.GetArguments()[0], v); fill_int_reply(ctx.reply, err == 0 ? 1 : 0); return 0; }
int Comms::Expireat(Context& ctx, RedisCommandFrame& cmd) { uint64 v = 0; if (!check_uint64_arg(ctx.reply, cmd.GetArguments()[1], v)) { return 0; } int err = m_kv_store->PExpireat(ctx.currentDB, cmd.GetArguments()[0], v * 1000); if (err >= 0) { if (err > 0) { FireKeyChangedEvent(ctx, cmd.GetArguments()[0]); } fill_int_reply(ctx.reply, err); } else { FillErrorReply(ctx, err); } return 0; }