Moneta - a unified interface to key/value stores
github.com
github.com
"All stores support key expiration, but only memcache supports it natively. All other stores emulate expiration." Redis doesn't support volatile keys??
Also, does it allow access to a DB's tuning parameters? It makes a great difference whether to use Tokyo's B+ tree database or its hash database ...
I'm honestly not sure why wycats would make that statement. It's not like the interface for expiration is particularly opaque.
http://github.com/subwindow/moneta
As a side note, the library is pretty simple at this point. The way the tests are set up is pretty excellent as well.
I asked wycats about this and he said he plans to do some serious reworking on it soon.
For tokyo in particular, it assumes tch. It'd be a 1-2 line fix to add in support for tcb or tcf. I don't know enough about Tokyo to test it, however.
Also, you can use tcb with Tyrant, which Moneta supports.
http://github.com/mloughran/api_cache
I use it on multiple sites (to cache http downloads, delicious tags api calls etc). You can start with a simple filesystem store (moneta/basic_file) and move to another store when needed.
It was originally an experiment, and I didn't notice the activity around it until recently. Stay tuned :-D