Hacker News new | ask | show | jobs
by uuid 5816 days ago
Interesting, and potentially useful. However:

"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 ...

2 comments

Also, re: tuning parameters. You can use them, in some circumstances.

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.

That was my first thought as well. The expire/expireat commands are one of the main reasons why I chose Redis.

I'm honestly not sure why wycats would make that statement. It's not like the interface for expiration is particularly opaque.

Because moneta is not new at all, look at the commit dates :-) It only seems to have made it to HN because someone resurfaced it on Reddit recently.

I asked wycats about this and he said he plans to do some serious reworking on it soon.

It turns out the code used the Redis native expiration, but it wasn't compatible with Redis 2.x. So I fixed both problems. I sent a pull request. We'll see if it makes it into main.

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 don't think Moneta's Redis interface uses the ruby expiration code: http://github.com/wycats/moneta/commit/522be344cfeddb4a4dbf8...