MLDBM :: Sync

Veilige gelijktijdige toegang tot MLDBM-databases
Download nu

MLDBM :: Sync Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • Perl Artistic License
  • Prijs:
  • FREE
  • Naam uitgever:
  • Joshua Chamas
  • Uitgever website:
  • http://search.cpan.org/~chamas/

MLDBM :: Sync Tags


MLDBM :: Sync Beschrijving

Safe gelijktijdige toegang tot MLDBM databases MLDBM :: Sync een Perl module wraps rond de MLDBM interface door het hanteren van gelijktijdige toegang tot databases met MLDBM bestandsvergrendeling en spoelt i / o expliciet per vergrendelen / ontgrendelen. De nieuwe Lock () / unlock () API kan worden gebruikt om serialize verzoeken logisch en de prestaties te verbeteren voor gebundelde leest en schrijft. mijn $ sync_dbm_obj = tie che, 'MLDBM :: Sync', '/ tmp / syncdbm', O_CREAT | O_RDWR, 0640; # Write opgesloten kritieke sectie $ sync_dbm_obj-> Lock; ... alle toegangen tot DBM LOCK_EX beschermd, en ga naar dezelfde gebonden bestandsingangen $ cache { 'KEY'} = 'waarde'; $ Sync_dbm_obj-> UnLock; # Lezen opgesloten kritieke sectie $ sync_dbm_obj-> ReadLock; ... allemaal gelezen toegangen tot DBM LOCK_SH beschermd, en ga naar dezelfde gebonden bestanden ... WAARSCHUWING, kan niet schrijven naar DBM in ReadLock () sectie, zal sterven () ... WAARSCHUWING, my $ v = $ cache { 'KEY '} {' SUBKEY '} zal een afschrijving leiden dus niet veilig ... om te gebruiken in ReadLock () deel van mijn $ value = $ cache {' KEY '}; $ Sync_dbm_obj-> UnLock; # Normale toegang ook OK, zonder expliciet vergrendeling $ cache { 'KEY'} = 'waarde'; mijn $ value = $ cache { 'KEY'}; MLDBM blijft om te dienen als de onderliggende OO laag die complexe data structuren worden opgeslagen in de databases serialiseert. Zie de MLDBM BUGS sectie voor belangrijke limitations.MLDBM :: Sync biedt ook ingebouwde RAM caching met Tie :: Cache MD5 sleutel checksum functionality.SYNOPSIS gebruik MLDBM :: Sync; # Dit wordt de standaard, SDBM_File gebruik MLDBM qw (DB_File Storable); # Gebruik kan worden opgeslagen voor de serialisatie gebruik MLDBM qw (MLDBM :: Sync :: SDBM_File); # Gebruik uitgebreid SDBM_File, handgrepen waarden> 1024 bytes gebruiken Fcntl qw (: standaard); # Import symbolen O_CREAT en O_RDWR voor gebruik met DBMS # NORMAL beschermd lezen / schrijven met impliciete sloten per i / o te vragen mijn $ sync_dbm_obj = tie che, 'MLDBM :: Sync' of sterven $! ; $ Cache { "AAAA"} = "BBBB"; mijn $ value = $ cache { "AAAA"}; # Geserialiseerde BESCHERMD read / write met expliciete slot voor zowel de i / o-aanvragen mijn $ sync_dbm_obj = tie che, 'MLDBM :: Sync', '/ tmp / syncdbm', O_CREAT | O_RDWR, 0640; $ Sync_dbm_obj-> Lock; $ Cache { "AAAA"} = "BBBB"; mijn $ value = $ cache { "AAAA"}; $ Sync_dbm_obj-> UnLock; # Geserialiseerde BESCHERMD LEES toegang met expliciete read slot voor zowel leest $ sync_dbm_obj-> ReadLock; mijn @keys = sleutels che; mijn $ value = $ cache { 'AAAA'}; $ Sync_dbm_obj-> UnLock; # Cache geheugen laag met Tie :: Cache $ sync_dbm_obj-> SyncCacheSize ( '100K'); # KEY Controlesommen, voor lookups op MD5 checksums op grote toetsen mijn $ sync_dbm_obj = tie che, 'MLDBM :: Sync', '/ tmp / syncdbm', O_CREAT | O_RDWR, 0640; $ Sync_dbm_obj-> SyncKeysChecksum (1); mijn $ large_key = "KEY" x 10000; $ Sync {$ large_key} = "large"; mijn $ value = $ sync {$ large_key}; Vereisten: · Perl


MLDBM :: Sync Gerelateerde software