summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authordormando <dormando@rydia.net>2020-11-09 15:47:39 -0800
committerdormando <dormando@rydia.net>2020-11-20 12:19:56 -0800
commitb2cee81823ba32adf09a6666d92aee56a8d98056 (patch)
treec7e7fb4763106f2d8860eda60f34742e4f184f2f /doc
parent2896cc6c49c2bcd064e00da8bdf0dcaf1a481e73 (diff)
downloadmemcached-b2cee81823ba32adf09a6666d92aee56a8d98056.tar.gz
item crawler hash table walk mode
specifying 'hash' instead of 'all' will make the LRU crawler iterate over ever bucket in the hash table once, instead of what's in the LRU. This also doesn't suffer from missing items because of LRU reordering or high lock contention.
Diffstat (limited to 'doc')
-rw-r--r--doc/protocol.txt7
1 files changed, 6 insertions, 1 deletions
diff --git a/doc/protocol.txt b/doc/protocol.txt
index c4cca71..9a48aa7 100644
--- a/doc/protocol.txt
+++ b/doc/protocol.txt
@@ -1071,13 +1071,18 @@ The response line could be one of:
- "BADCLASS [message]" to indicate an invalid class was specified.
-lru_crawler metadump <classid,classid,classid|all>
+lru_crawler metadump <classid,classid,classid|all|hash>
- Similar in function to the above "lru_crawler crawl" command, this function
outputs one line for every valid item found in the matching slab classes.
Similar to "cachedump", but does not lock the cache and can return all
items, not just 1MB worth.
+ if "hash" is specified instead of a classid or "all", the crawler will dump
+ items by directly walking the hash table instead of the LRU's. This makes it
+ more likely all items will be visited once as LRU reordering and locking can
+ cause frequently accessed items to be missed.
+
Lines are in "key=value key2=value2" format, with value being URI encoded
(ie: %20 for a space).