4etene ot DBM
1 отговора
89 прегледа
4etene ot DBM
Zapo4vam napravo s primer
Zna4i kakto vijdate tova e cikyl koito 4ete ot nai-obiknovena baza danni,
nqma zna4enie kak sym go napravil.Vyprosyt e 4e kogato dopylnq tazi syshtata DBM ot drugo mqsto dokato cikylyt e v deistvie tozi syshtiqt cikyl ne "vijda" novite danni.Toest vse edno ne e dobavqno kym DBM-to.Zabelqzva gi edinstveno ako sloja funkciqta dbmopen to4no predi cikyla while i dbmclose vednaga sled kato svyrshi while.Kajete mi kak bez da se zatvarq %DBASE da mogat da se 4etat promenite vyv bazata po vsqko vreme ili me opytete kym nqkoi drug vid DB zashtoto ne sym mnogo zapoznat s tqh no trqbva da e neshto prosto kato DBM-to.
Regards
dbmopen(%DBASE, "tempfile", 0666) or die "Can`t open DBM: $!\n";
cyrcle();
dbmclose %DBASE;
sub cyrcle {
sleep 3;
while (($key, $val) = (each %DBASE)) {
print "$key $val\n";
}
}
Zna4i kakto vijdate tova e cikyl koito 4ete ot nai-obiknovena baza danni,
nqma zna4enie kak sym go napravil.Vyprosyt e 4e kogato dopylnq tazi syshtata DBM ot drugo mqsto dokato cikylyt e v deistvie tozi syshtiqt cikyl ne "vijda" novite danni.Toest vse edno ne e dobavqno kym DBM-to.Zabelqzva gi edinstveno ako sloja funkciqta dbmopen to4no predi cikyla while i dbmclose vednaga sled kato svyrshi while.Kajete mi kak bez da se zatvarq %DBASE da mogat da se 4etat promenite vyv bazata po vsqko vreme ili me opytete kym nqkoi drug vid DB zashtoto ne sym mnogo zapoznat s tqh no trqbva da e neshto prosto kato DBM-to.
Regards
Re: 4etene ot DBM
Otgovora na vaprosa "zashto e taka" e elementaren - dbmopen raboti prez tie, i keshira okolu 8K (po podrazbirane) ot klucha na DBM faila. Ako DBM faila ti e malak (kakto i predpolagam) tova koeto updatvash nai veroiatno popada v kesha ili e zasegnato ot kesha i zatova ne se vijda v programkata.
Kak se reshava vaprosa - ami ti si mu nameril otgovora - taka kakto pravish dbmopen v cikala se nulira kesha vseki put. Mojesh (ako izpolzvash po savremenniat mehanizam za dostyp do DBM prez tie) da namalish kesha do minimum, no ne sam siguren che mojesh da go mahnesh vaobshte (dori da e 0, poslednata prochetena promenliva si stoi nakeshirana). Takav e jivota.
Kak se reshava vaprosa - ami ti si mu nameril otgovora - taka kakto pravish dbmopen v cikala se nulira kesha vseki put. Mojesh (ako izpolzvash po savremenniat mehanizam za dostyp do DBM prez tie) da namalish kesha do minimum, no ne sam siguren che mojesh da go mahnesh vaobshte (dori da e 0, poslednata prochetena promenliva si stoi nakeshirana). Takav e jivota.