From: Francis Hwang Date: 2005-01-21T00:08:13+09:00 Subject: [ANN] Lafcadio 0.7.0, 0.6.1: Excessively Clever Query Caching Hi everybody, I've just released the newest dev release of Lafcadio, 0.7.0, and the bugfix release 0.6.1 for the stable branch. == What's Lafcadio? == An object-relational mapping library for use with MySQL. It supports a lot of advanced features, including in-Ruby field value checking, extensive aid in mapping to legacy databases, an advanced query engine that allows you to form queries in Ruby that can be run either against the live database, or an in-memory mock store for testing purposes. Lafcadio is more than a year old and is currently in use on production websites, most notably http://rhizome.org/, an online community that has a 6-year-old legacy database and gets more than 3 million hits a month. == What's new in 0.7.0? == Excessively Clever Query Caching goes like this: Everytime you run a select against the DB, Lafcadio caches the results in memory. Then, if you later run a second select that is a subset of the first, Lafcadio detects it, figures out what it's a subset of, filters out the results in memory, and returns you the results. This all happens transparently. What does this mean? It means a significantly faster app, because if you run these three queries: select * from users where lname = 'Smith' select * from users where lname = 'Smith' and fname like '%john%' select * from users where lname = 'Smith' and email like '%hotmail%' Lafcadio will only ask MySQL for the results for the first select statement, and do the rest for you without using the DB connection. Francis Hwang http://fhwang.net/