develooper Front page | perl.beginners | Postings from January 2002

Maintaining a Cache of Hash References

Thread Next
From:
Tomasi, Chuck
Date:
January 15, 2002 09:50
Subject:
Maintaining a Cache of Hash References
Message ID:
28A4235A174FD5118ADB00D0B73E5EFEF01487@exchange1.admin.plx.plexus.com
I'm trying to maintain a cache of hashes to reduce database hits.  What I
want is to determine if I've retrieved the data from the DB before, if so,
just pass back the copy of information used last time, otherwise read it
from the DB and make a note of it.  It would seem I'm not copying the
information in to the $user arg properly.  Something like this:

@UserCache;	# Place to store data already seen
sub GetUser
{
	my ($id, $user)=@_;	# record number and hash reference to
populate

	if (defined($UserCache[$id])) {

        $user = $UserCache[$id];                                            
        return(1);                                                          
	}


	# Code here to read info from the database and put it in $user as
necessary

	# Store the info from the DB for later
	$UserCache[$id] = $user;

	return 1;
}

Thanks

--Chuck

Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About