Previously discouraged, listing keys in a Riak bucket got some major improvements:
Due to these three changes, there are two effective results:
- In nearly all cases, the
list_keysoperator is much faster than before. In some common cases it is 10 times faster.
- In cases of very large buckets, memory allocation will not spike during key listing. (though of course if you ask Riak to build the whole list for you instead of streaming it out, then at least that much must be used to accommodate)
Currently this works only with Riak’s Bitcask storage.
I was thinking that for other storage backends, if you want to trade some space (and consistency?) you could use Riak’s post-commit hooks to manage your own lists of keys.