October 20, 2009

Memcached: List all keys

Posted in Software at 17:50 by Graham King

In the general case, there is no way to list all the keys that a memcached instance is storing. You can, however, list something like the first 1Meg of keys, which is usually enough during development. Here’s how:

Telnet to your server:

telnet 127.0.0.1 11211

List the items, to get the slab ids:

stats items
STAT items:3:number 1
STAT items:3:age 498
STAT items:22:number 1
STAT items:22:age 498
END

The first number after ‘items’ is the slab id. Request a cache dump for each slab id, with a limit for the max number of keys to dump:

stats cachedump 3 100
ITEM views.decorators.cache.cache_header..cc7d9 [6 b; 1256056128 s]
END
stats cachedump 22 100
ITEM views.decorators.cache.cache_page..8427e [7736 b; 1256056128 s]
END

Thanks to Boris Partensky in the Memcached group here

There you go!

2 Comments »

  1. Goktug Ozturk said,

    July 29, 2010 at 07:43

    Most probably,
    b is for bytes and
    s means unixtime of last cache

  2. Osman Sebati Cam said,

    May 25, 2010 at 09:47

    Hi Graham,

    This is very nice post,

    do you know the meaining of ‘b’ after 7736 and the meaning of ’s’ after 1256056128

    b for byte ?

    or b for the byte size of key
    and s for the byte size of data

    ITEM views.decorators.cache.cache_page..8427e [7736 b; 1256056128 s]

    if you know post will be nicer :)

Leave a Comment

Note: Your comment will only appear on the site once I approve it manually. This can take a day or two. Thanks for taking the time to comment.