On Wed, Oct 27, 2010 at 4:15 AM, Dobrica Pavlinusic <dpavlin@rot13.org>wrote:
You are correct that invalidation of caches is hard problem, but I assume that caching over DBIx::Class would take care of invalidation, but I might be wrong.
DBIx::Class handles cache invalidation very well as long as it is used uniformly as the only means of accessing the database. My concern is more in regards to the challenges with getting all of Koha's use of a given set of tables to go through the dbic interface. Another intersting bit is change at:
http://git.rot13.org/?p=koha.git;a=commit;h=8b27e87c24b8efa5f4ffc9b21b8d1a97...
which takes marc records directly from marc instead of XML. This bypasses XML parsing and transformation and reduces number of statements significantly:
While this is much faster, the ISO format has hard-coded limitations that Koha needs to surpass.
From my expirience so far, there are quite a few more low hanging fruits which we can pick in Koha code using caching. However, I would love to know if this moment is the right one to tackle this, or should I wait for DBIx::Class changes to land into code.
Getting Koha to run persistently (and to do so safely!) seems like a higher priority in my estimation than the conversion to DBIC, if for no other reason than pervasive use of DBIC is going to seriously impede CGI performance. In mean time, I find that applying small, judicious use of local caching often gives a high return on very little time and additional code while not interfering with the API. Clay