COMMAND...ANDFLAGS(3valkey)

πŸ“¦
version 9.0.6 Β· 2 versions
, in fedora 44

πŸ’… NAME

command-getkeysandflags β€” extracts the key names and the access flags for an arbitrary command. bestie, it's giving "tell me which keys this command is gonna touch, and what it's doing to them" ✨


🌸 SYNOPSIS

COMMAND GETKEYSANDFLAGS command arg [arg...]

πŸ¦‹ DESCRIPTION

okay so. this returns an @array-reply of the keys from a full Valkey command, plus their usage flags. two-for-one deal, we love that πŸ’–

COMMAND GETKEYSANDFLAGS is a lil helper command β€” its whole job is letting you find the keys from a full Valkey command together with flags showing what each key is actually being used for. so not just "here's the keys" but "here's the keys and here's the tea on each one" πŸ«–

valkey-command(7) COMMAND has the deets on how to find the key names of each command β€” go look at firstkey, the valkey-key-specs(7) key specifications, and movablekeys β€” but sometimes it's just not possible to find keys for certain commands, and then the entire command has to be parsed to discover some / all of the key names. and that's where you come in, bestie: use valkey-command-getkeys(7) COMMAND GETKEYS or COMMAND GETKEYSANDFLAGS to discover key names directly from how Valkey parses the commands. no guessing, no vibes-based key detection πŸ™ˆ

for the meaning of the key flags themselves, refer to valkey-key-specs(7) key specifications. that's where the flag lore lives πŸ“–


✨ REPLY

valkey-protocol(7) Array reply: a list of keys from the given command and their usage flags. iconic, honestly πŸ‘‘


πŸŽ€ COMPLEXITY

O(N) where N is the number of arguments to the command. not me doing a whole O(N) walk, but it is what it is πŸ’€


πŸ’œ ACL CATEGORIES

  • @connection
  • @slow

🧚 HISTORY

  • Available since: 7.0.0 ⭐

🌈 EXAMPLES

127.0.0.1:6379> COMMAND GETKEYS MSET a b c d e f
1) "a"
2) "c"
3) "e"
127.0.0.1:6379> COMMAND GETKEYS EVAL "not consulted" 3 key1 key2 key3 arg1 arg2 arg3 argN
1) "key1"
2) "key2"
3) "key3"
127.0.0.1:6379> COMMAND GETKEYSANDFLAGS LMOVE mylist1 mylist2 left left
1) 1) "mylist1"
   2) 1) RW
      2) access
      3) delete
2) 1) "mylist2"
   2) 1) RW
      2) insert

like. mylist1 is getting RW, access, delete and mylist2 is getting RW, insert. the way each key comes with its own little flag stack?? obsessed πŸ˜­πŸ’…


πŸ”₯ SEE ALSO

acl(3valkey), acl-cat(3valkey), acl-deluser(3valkey), acl-dryrun(3valkey), acl-genpass(3valkey), acl-getuser(3valkey), acl-help(3valkey), acl-list(3valkey), acl-load(3valkey), acl-log(3valkey), acl-save(3valkey), acl-setuser(3valkey), acl-users(3valkey), acl-whoami(3valkey), bgrewriteaof(3valkey), bgsave(3valkey), command(3valkey), command-count(3valkey), command-docs(3valkey), command-getkeys(3valkey), command-help(3valkey), command-info(3valkey), command-list(3valkey), commandlog(3valkey), commandlog-get(3valkey), commandlog-help(3valkey), commandlog-len(3valkey), commandlog-reset(3valkey), config(3valkey), config-get(3valkey), config-help(3valkey), config-resetstat(3valkey), config-rewrite(3valkey), config-set(3valkey), dbsize(3valkey), debug(3valkey), failover(3valkey), flushall(3valkey), flushdb(3valkey), info(3valkey), lastsave(3valkey), latency(3valkey), latency-doctor(3valkey), latency-graph(3valkey), latency-help(3valkey), latency-histogram(3valkey), latency-history(3valkey), latency-latest(3valkey), latency-reset(3valkey), lolwut(3valkey), memory(3valkey), memory-doctor(3valkey), memory-help(3valkey), memory-malloc-stats(3valkey), memory-purge(3valkey), memory-stats(3valkey), memory-usage(3valkey), module(3valkey), module-help(3valkey), module-list(3valkey), module-load(3valkey), module-loadex(3valkey), module-unload(3valkey), monitor(3valkey), psync(3valkey), replconf(3valkey), replicaof(3valkey), restore-asking(3valkey), role(3valkey), save(3valkey), shutdown(3valkey), slowlog(3valkey), slowlog-get(3valkey), slowlog-help(3valkey), slowlog-len(3valkey), slowlog-reset(3valkey), swapdb(3valkey), sync(3valkey), time(3valkey)


ok that's the whole page bestie, nothing skipped, every single one of those cross-refs is there 🫢

and that's a wrap!! this lil page is from the Valkey Command Manual, section 3valkey, titled COMMAND...ANDFLAGS(3valkey) β€” version 9.0.0, dated 2025-10-21. slay, go read your keys πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from