notes/memcache.md
+-------------------+------------+--------------------------------------------------------------------------+
| Command | Supported? | Format |
+-------------------+------------+--------------------------------------------------------------------------+
| set | Yes | set <key> <flags> <expiry> <datalen> [noreply]\r\n<data>\r\n |
+-------------------+------------+--------------------------------------------------------------------------+
| add | Yes | add <key> <flags> <expiry> <datalen> [noreply]\r\n<data>\r\n |
+-------------------+------------+--------------------------------------------------------------------------+
| replace | Yes | replace <key> <flags> <expiry> <datalen> [noreply]\r\n<data>\r\n |
+-------------------+------------+--------------------------------------------------------------------------+
| append | Yes | append <key> <flags> <expiry> <datalen> [noreply]\r\n<data>\r\n |
+-------------------+------------+--------------------------------------------------------------------------+
| prepend | Yes | prepend <key> <flags> <expiry> <datalen> [noreply]\r\n<data>\r\n |
+-------------------+------------+--------------------------------------------------------------------------+
| cas | Yes | cas <key> <flags> <expiry> <datalen> <cas> [noreply]\r\n<data>\r\n |
+-------------------+------------+--------------------------------------------------------------------------+
+-------------------+------------+--------------------------------------------------------------------------+
| Command | Supported? | Format |
+-------------------+------------+--------------------------------------------------------------------------+
| get | Yes | get <key> [<key>]+\r\n |
+-------------------+------------+--------------------------------------------------------------------------+
| gets | Yes | gets <key> [<key>]+\r\n |
+-------------------+------------+--------------------------------------------------------------------------+
+-------------------+------------+--------------------------------------------------------------------------+
| Command | Supported? | Format |
+-------------------+------------+--------------------------------------------------------------------------+
| delete | Yes | delete <key> [noreply]\r\n |
+-------------------+------------+--------------------------------------------------------------------------+
+-------------------+------------+--------------------------------------------------------------------------+
| Command | Supported? | Format |
+-------------------+------------+--------------------------------------------------------------------------+
| incr | Yes | incr <key> <value> [noreply]\r\n |
+-------------------+------------+--------------------------------------------------------------------------+
| decr | Yes | decr <key> <value> [noreply]\r\n |
+-------------------+------------+--------------------------------------------------------------------------+
+-------------------+------------+--------------------------------------------------------------------------+
| Command | Supported? | Format |
+-------------------+------------+--------------------------------------------------------------------------+
| touch | Yes | touch <key> <expiry>[noreply]\r\n |
+-------------------+------------+--------------------------------------------------------------------------+
| gat | Planned | gat <expiry> <key>+\r\n |
+-------------------+------------+--------------------------------------------------------------------------+
| gats | Planned | gats <expiry> <key>+\r\n |
+-------------------+------------+--------------------------------------------------------------------------+
| quit | Yes | quit\r\n |
+-------------------+------------+--------------------------------------------------------------------------+
| flush_all | No | flush_all [<delay>] [noreply]\r\n |
+-------------------+------------+--------------------------------------------------------------------------+
| version | Yes | version\r\n |
+-------------------+------------+--------------------------------------------------------------------------+
| verbosity | No | verbosity <num> [noreply]\r\n |
+-------------------+------------+--------------------------------------------------------------------------+
| stats | No | stats\r\n |
+-------------------+------------+--------------------------------------------------------------------------+
| stats | No | stats <args>\r\n |
+-------------------+------------+--------------------------------------------------------------------------+
ERROR\r\n
CLIENT_ERROR [error]\r\n
SERVER_ERROR [error]\r\n
Where,
- ERROR means client sent a non-existent command name
- CLIENT_ERROR means that command sent by the client does not conform to the protocol
- SERVER_ERROR means that there was an error on the server side that made processing of the command impossible
STORED\r\n
NOT_STORED\r\n
EXISTS\r\n
NOT_FOUND\r\n
Where,
- STORED indicates success.
- NOT_STORED indicates the data was not stored because condition for an add or replace wasn't met.
- EXISTS indicates that the item you are trying to store with a cas has been modified since you last fetched it.
- NOT_FOUND indicates that the item you are trying to store with a cas does not exist.
NOT_FOUND\r\n
DELETED\r\n
END\r\n
VALUE <key> <flags> <datalen> [<cas>]\r\n<data>\r\nEND\r\n
VALUE <key> <flags> <datalen> [<cas>]\r\n<data>\r\n[VALUE <key> <flags> <datalen> [<cas>]\r\n<data>]+\r\nEND\r\n
NOT_FOUND\r\n
<value>\r\n
Where,
- <value> - uint64_t : new key value after incr or decr operation
NOT_FOUND\r\n
TOUCHED\r\n
[STAT <name> <value>\r\n]+END\r\n
OK\r\n
VERSION <version>\r\n