What's the good way to cache reference data?

I'm looking at an application that has 30+ lookup tables. By that I
mean your typical (id, description, created_on) affairs that contain
locations, zip codes, contract types and what not. Things that rarely
change, and are maintained by administrators.

It's well known that when you have many lookup tables in the schema,
eager loading is not good enough anymore, and you need to cache them
in memory as ready-made objects, to avoid abusing the database.

Looking for an available Rails solution I came across
http://dev.robotcoop.com/Libraries/cached_model/classes/CachedModel.html

Is it the good way to do this? Are there other choices worth looking
at? Should we roll our own?

NB: Yes, I know about ActiveRecord:Base.cache(), and it doesn't solve
this problem, not in our case.

Alexey Verkhovsky wrote:

I'm looking at an application that has 30+ lookup tables. By that I
mean your typical (id, description, created_on) affairs that contain
locations, zip codes, contract types and what not. Things that rarely
change, and are maintained by administrators.

It's well known that when you have many lookup tables in the schema,
eager loading is not good enough anymore, and you need to cache them
in memory as ready-made objects, to avoid abusing the database.

Looking for an available Rails solution I came across
http://dev.robotcoop.com/Libraries/cached_model/classes/CachedModel.html

Is it the good way to do this? Are there other choices worth looking
at? Should we roll our own?

For smallish tables that you want permanently and fully cached in memory
I'd recommend: http://svn.protocool.com/public/plugins/enumerations_mixin/