

Moneta - a unified interface to key/value stores - mickeyben
http://github.com/wycats/moneta

======
thibaut_barrere
API-cache is a convenient caching layer that works on top of Moneta:

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

------
avar
This is similar to the CHI and Cache modules for Perl:
<http://search.cpan.org/perldoc?CHI> <http://search.cpan.org/perldoc?Cache>

------
tptacek
Using this with Redis (at least) misses much of the point of Redis, which has
an especially rich API.

~~~
patio11
On the plus side, I used something similar to use my caching store back when
it was MemcachedDB, and switching to Redis required a one-line change in a
config file rather than refactoring. (Learn from my mistake, everyone: skip
MemcachedDB, go straight to Redis, collect $200.)

------
benatkin
Interesting looking at the network graph on this repo. Lots of forking but no
merging in the months since features where added to wycats' repo. Seems the
project could use a maintainer!

<http://github.com/wycats/moneta/network>

~~~
wycats
I've been working on a rework on a branch that should be merged in this
weekend. It takes a lot of the feedback I've gotten and existing forks into
consideration, as well as lessons learned from Rack.

It was originally an experiment, and I didn't notice the activity around it
until recently. Stay tuned :-D

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

~~~
subwindow
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.

~~~
petercooper
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.

