Re: How to persist and query a hash lookup in memory with Perl ?



In article
<7c5df670-d214-40c2-b59d-9ba1f5785618@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>,
<jackposemsky@xxxxxxxxx> wrote:

On Nov 28, 6:37 pm, Gunnar Hjalmarsson <nore...@xxxxxxxxx> wrote:
Jack wrote:
Hi I have a web application that needs to on an adhoc basis query a
hash lookup which should be persisted in memory - I have seen this
module "Persistent::Memory - A Persistent Class implemented using
Memory (RAM)" but I wanted to see if there was a much simpler approach
to taking a hash map and making it 'callable' while persisted in
memory using standard features not requiring a special Perl module
install..

Any thoughts would be appreciated.

Why not a tied hash? See e.g. "perldoc DB_File".

--
Gunnar Hjalmarsson
Email:http://www.gunnar.cc/cgi-bin/contact.pl

Hi and thank you however that looks too complex - just trying to put a
hash in memory, why is that so hard to do ? Is there a simpler way ?

Your question is confusing. All Perl variables, including hashes, are
in memory. The trick to achieving "persistence" between execution
instances of your web application is to have the data on a permanent
data store, such as a disk file. Memory variables disappear once your
Perl process terminates. Using a tied hash, per Gunnar's suggestion, is
one way to accomplish this. There are others, such as using the
Storable module to serialize your hash so you can write it to memory.

I have not use Persistent::Memory, but you might want to check out the
Persistent::File module instead. Both of those modules seem to be part
of the Persistent framework of Perl modules.

See
<http://search.cpan.org/~dwinters/Persistent-Base-0.52/lib/Persistent.po
d>

--
Jim Gibson

Posted Via Usenet.com Premium Usenet Newsgroup Services
----------------------------------------------------------
** SPEED ** RETENTION ** COMPLETION ** ANONYMITY **
----------------------------------------------------------
http://www.usenet.com
.



Relevant Pages

  • Re: hash table size
    ... talking about chess programming ideas and what they do rather than actually ... you can clear out the memory. ... Just a couple cycles per hash check. ... The amount of physical memory each user gets is likely to be somewhat ...
    (rec.games.chess.computer)
  • Re: How to persist and query a hash lookup in memory with Perl ?
    ... hash lookup which should be persisted in memory - I have seen this ... Memory " but I wanted to see if there was a much simpler approach ... memory using standard features not requiring a special Perl module ... are only as good as the life of the execution of the script!! ...
    (comp.lang.perl.misc)
  • Re: hash table size
    ... Change all the hash keys so you get a new random value. ... This way old entries from the previous search (or uninitialized hash memory) ... It is true that doing an AND is faster than a modulo. ... If you are runing a chess program for a reason, ...
    (rec.games.chess.computer)
  • Re: Firewall vs. IPS - Differences now (ISS, Intrushield 2.1?)
    ... > You risk running out of memory. ... That's like saying "it's trivial to DoS Aho-Corasic if you know the ... DoS's and improvements via use of the Jenkins hash are most illuminating. ... > replacement policy gives the worst behavior since an attacker can flood ...
    (Focus-IDS)
  • Re: Ruby, memory and speed
    ... and then emit a summary on standard input. ... The hash will grow to about 500 000 keys. ... Is there any tuning of GCC so it kicks in less frequently when the memory consumption is large? ... Or could it be that the Hash algorithm chokes when the number of keys gets large? ...
    (comp.lang.ruby)