Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]3637[/thread]

doppel-INSERT vermeiden durch locking (Seite 2)



<< |< 1 2 3 >| >> 25 Einträge, 3 Seiten
renee
 2005-11-08 00:26
#33759 #33759
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Wofuer das?? Es gibt soviele funktionierende Session-Verwaltungen, die keinen Daemon benoetigen...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Froschpopo
 2005-11-08 02:07
#33760 #33760
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
aber das wäre doch theoretisch schneller - nicht dass ich soetwas vor habe, aber - ist doch immer schneller ausm arbeitsspeicher zu lesen!
ptk
 2005-11-08 13:59
#33761 #33761
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Man kann ja auch ein Memory-Filesystem verwenden. Bei mir liegt beispielsweise /tmp im RAM.
pq
 2005-11-08 15:14
#33762 #33762
User since
2003-08-04
12209 Artikel
Admin1
[Homepage]
user image
man kann z.B. auch datenbanken komplett ins RAM packen.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
Gast Gast
 2005-12-22 12:27
#33763 #33763
Hi, wegen der Statuslosigkeit des http Protokolls kannst Du eine 100% ig eindeutige Lösung nicht garantieren.

Second bests: Session ID generieren. Da diese für die Session eindeutig sein soll muß diese ein primary key in einer session-datenbank sein. Damit wird ein doppelter insert mit identischem Schlüssel zurückgewiesen. Mit anderen Worten definiere die Session ID in der Datenbank als Primary key.

Eine Out-ouf-Datenbank-Lösung für dieses Problem is third best. EIn lock-file für diese session tut es dann.
Taulmarill
 2005-12-22 14:50
#33764 #33764
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
ähm, das problem war doch, dass zwischen dem select, welches auf existenz eines eintrages prüft und dem insert, welches den datensatz anlegt ein weiteres select kommen kann, oder? warum hat dann hier noch niemand transaktionen vorgeschlagen. man beginnt eine transaktion, macht die abfrage, fügt ggf. einen eintrag ein und beendet die transaktion wieder. wenn eine weitere transaktion ankommt wartet sie erst, bis die erste erledigt ist.

habe ich irgendwas offensichtliches übersehen?
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
Taulmarill
 2005-12-22 14:59
#33765 #33765
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
ähm, vergesst das, ich hab in letzter zeit zu viel mit sqlite gemacht.
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
pq
 2005-12-22 15:08
#33766 #33766
User since
2003-08-04
12209 Artikel
Admin1
[Homepage]
user image
[quote=Taulmarill,22.12.2005, 13:50]warum hat dann hier noch niemand transaktionen vorgeschlagen.[/quote]
ähm...
[quote=pq,06.11.2005, 22:49]dann brauchst du eine transaktion. dann kriegt das select erst ein ergebnis,
wenn der erste INSERT durch ist.[/quote]
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
pq
 2005-12-22 15:09
#33767 #33767
User since
2003-08-04
12209 Artikel
Admin1
[Homepage]
user image
[quote=Taulmarill,22.12.2005, 13:59]ähm, vergesst das, ich hab in letzter zeit zu viel mit sqlite gemacht.[/quote]
wieso das jetzt?
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
Taulmarill
 2005-12-22 16:16
#33768 #33768
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
1. hab' ich nachher gesehen, dass du soch transaktionen vorgeschlagen hast, aber das scheint irgendwie untergegangen zu sein.
2. verhalten sich transaktionen bei sqlite ein bischen anders. wenn man bei sqlite eine transaktion anfängt, ist die datei automatisch gelockt. bei postgres z.B. muss man das noch extra bei begin der transaktion machen.
3. war ich bei den vielen db's die wir hier haben im nachinein etwas verunsichert, wie sich das auf anderen db's verhalten würde.
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
<< |< 1 2 3 >| >> 25 Einträge, 3 Seiten



View all threads created 2005-11-06 21:51.