On May 7, 2007, at 11:26 AM, Perrin Harkins wrote:
Of course, the problem with using a database to get
the lists (besides the lists being the result of a munge), is that
they are
rather large.
Ideally you would load only the part you need, rather than the whole
thing. A local shared storage method, like BerkeleyDB or MySQL over
Unix-domain sockets, can be very speedy.
IIRC, Wouldn't the fastest method possible be using Storable and a
simple local file on the server ?
Building a perl var from a storable has almost no overhead.
If you keep a record of a system file's last modified time , and
just check that for changes periodically (or even every request), the
check should happen all within the kernel's inode cache and never
actually hit the disk.
That should offer a slight improvement over BDB , since you'll never
hit the disk.
This wouldn't work in a clustered environment , but you could do
some sort of cron job to rsync everything if needed.
Unless you're already using mysql in your app , I wouldn't add it
in -- you'll introduce a new potential performance bottleneck.