# PEXPIREAT

> Make a key expire at a Unix time given in milliseconds.

URL: https://docs.hotkv.com/commands/pexpireat/

```
PEXPIREAT key unix-time-milliseconds [NX | XX | GT | LT]
```

- Group: Keys
- Complexity: O(1)
- HotKV Cloud: all plans
- On-Premise: no license needed

`PEXPIREAT` works like [EXPIREAT](https://docs.hotkv.com/commands/expireat/index.md), with the timestamp in
milliseconds since the Unix epoch. A timestamp in the past deletes the key at
once.

## Options

| Option | Effect |
| --- | --- |
| `NX` | Set the time only if the key has none. |
| `XX` | Set the time only if the key already has one. |
| `GT` | Set the time only if it is later than the current one (never for a key without a time to live). |
| `LT` | Set the time only if it is earlier than the current one (always for a key without a time to live). |

## Return value

| Case | RESP2 | RESP3 |
| --- | --- | --- |
| The time was set (or the key was deleted) | Integer `1` | Integer `1` |
| The key does not exist, or an option prevented the change | Integer `0` | Integer `0` |

The error replies are the same as for [EXPIRE](https://docs.hotkv.com/commands/expire/index.md), with
`'pexpireat'` in the invalid-time message.

## Examples

```
127.0.0.1:6379> SET report "q3"
OK
127.0.0.1:6379> PEXPIREAT report 1893456000000
(integer) 1
127.0.0.1:6379> PEXPIRETIME report
(integer) 1893456000000
```

## Compatibility

Same as Redis 7 and Valkey 8.

## See also

[EXPIREAT](https://docs.hotkv.com/commands/expireat/index.md), [PEXPIRE](https://docs.hotkv.com/commands/pexpire/index.md),
[PEXPIRETIME](https://docs.hotkv.com/commands/pexpiretime/index.md), [NEXPIREAT](https://docs.hotkv.com/commands/nexpireat/index.md)