Asynchronously deletes one or more keys.
UNLINK
key [key…]
This command is very similar to DEL
: it removes the
specified keys. Just like DEL
a key is ignored if it does
not exist. However the command performs the actual memory reclaiming in
a different thread, so it is not blocking, while DEL
is.
This is where the command name comes from: the command just
unlinks the keys from the keyspace. The actual removal
will happen later asynchronously.
Integer reply: the number of keys that were unlinked.
O(1) for each key removed regardless of its size. Then the command does O(N) work in a different thread in order to reclaim memory, where N is the number of allocations the deleted objects where composed of.
@fast @keyspace @write
127.0.0.1:6379> SET key1 "Hello"
OK
127.0.0.1:6379> SET key2 "World"
OK
127.0.0.1:6379> UNLINK key1 key2 key3
(integer) 2
COPY, DEL, DUMP, EXISTS, EXPIRE, EXPIREAT, EXPIRETIME, KEYS, MIGRATE, MOVE, OBJECT, OBJECT ENCODING, OBJECT FREQ, OBJECT HELP, OBJECT IDLETIME, OBJECT REFCOUNT, PERSIST, PEXPIRE, PEXPIREAT, PEXPIRETIME, PTTL, RANDOMKEY, RENAME, RENAMENX, RESTORE, SCAN, SORT, SORT_RO, TOUCH, TTL, TYPE, WAIT, WAITAOF.