Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.php > #3486
| Path | csiph.com!aioe.org!news.swapon.de!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail |
|---|---|
| From | k@rl.pflaesterer.de (Karl Pflästerer) |
| Newsgroups | de.comp.lang.php |
| Subject | Re: Datenbankzugriffe |
| Date | Wed, 29 Jul 2015 06:59:50 +0200 |
| Lines | 73 |
| Message-ID | <m1twsnr22h.fsf@mbp.pflaesterer.de> (permalink) |
| References | <moilma$jqn$1@news.albasani.net> <moinfo$m73$1@news.albasani.net> <m1bnf7rq47.fsf@mbp.pflaesterer.de> <3122277.D0n6rLCmpi@PointedEars.de> <m1y4i0qk75.fsf@mbp.pflaesterer.de> <3600291.1bQNOdc6LI@PointedEars.de> |
| Mime-Version | 1.0 |
| Content-Type | text/plain; charset=utf-8 |
| Content-Transfer-Encoding | 8bit |
| X-Trace | individual.net LJ/NfFiIGOvp9OtUTNS9WgwY8dGU1WkxtxxnNdU6Rj0ancwKM= |
| Cancel-Lock | sha1:46Fr8OCkVMtGQHaOq6pg8SVpGAA= sha1:xwML3+UvDImr9iulyaXZhx5kUlQ= |
| User-Agent | Gnus/5.13 (Gnus v5.13) Emacs/24.4 (darwin) |
| Xref | aioe.org de.comp.lang.php:3486 |
Show key headers only | View raw
Thomas 'PointedEars' Lahn <PointedEars@web.de> writes: > Karl Pflästerer wrote: > >> Thomas 'PointedEars' Lahn <PointedEars@web.de> writes: >>> Karl Pflästerer wrote: >>>> Niels Braczek <nbraczek@freenet.de> writes: >>>>> Eine schnelle Alternative ist das Cachen im Dateisystem. Wenn du die >>>>> Cache-Datei löschst, sobald sich an der Konfiguration etwas ändert, >>>>> kannst du den Cache auch Session-übergreifend nutzen. >>>> >>>> Ein weiterer Vorteil ist, dass man diese Cache Datei gezielt dann >>>> schreiben kann, wenn sich etwas ändert. So ist sie immer aktuell. >>>> >>>> So muss man nie löschen, sondern überschreibt (mit rename wegen race >>>> conditions). >>> >>> Wie schon anderswo geschrieben: Das Umbenennen (”rename”) löst das >>> Problem der Race Condition nicht, es verschärft es sogar. >> >> Wo steht das? >> >> Unter Linux ist ein rename atomar, > > Wie kommst Du darauf, dass PHP nur unter Linux läuft? Linux, BSD, Unix sind die hauptsächlichen *Server* BS in diesem Bereich. >> da gibt es keine race condition (Lesen von partiellem content). > > Die Race Condition ist, dass ein Prozess auf eine Datei schreiben könnte, > die ein anderer Prozess lesend geöffnet hat; nicht das „Lesen von partiellem > Content“. Möglich. Aber darauf bezog ich mich gerade *nicht*. rename habe ich nicht zufällig genannt. temp datei + rename ist ein gängiges Muster unter unixoiden Systemen. >> Man öffnet eine temporäre Datei, schreibt in diese und benennt diese >> Datei am Ende um. So sehen alle lesenden Zugriffe immer eine >> vollständige Datei. > > Das ist noch immer vom Dateisystem und nicht nur vom Betriebssystem > abhängig. man 2 rename >>> Sessions (zum Lesen und Speichern) und globale Variablen (zum Lesen) sind >>> hier der richtige, das Speichern im Dateisystem der falsche, Ansatz. >> >> IBTD. Zum einen ist es mit Sessions nicht so einfach Config Änderungen >> für alle gleichzeitig sichtbar sein zu lassen; > > Das ist auch nicht nötig. Es wird beim Start der Applikation einmalig die > Session-Variable mit den Daten befüllt, und bei jedem Request wieder, wenn > sich die Daten geändert haben sollten. Dann muss man immer prüfen, ob sich etwas geändert hat; das kostet mehr (typischerweise ein DB Zugriff, den man ja gerade vermeiden wollte) als immer eine zentrale Config einzulesen (oder aus Redis oder Memcache oder ...) >> zum anderen ist der Standard Speicherort von Sessions das Dateisystem. > > Aber nicht der einzige. > >> Der Unterschied ist hier nur, ob nutzerspezifisch gecached werden soll. > > Mit Sessions hat jeder Benutzer automatisch seine eigene Datei. Das ist der Sinn von Sessions. Aber eben auch der Nachteil, wenn man *nicht* nutzerspezifische Daten hat, die man möglichst schnell aktualisieren möchte. Dann *können* andere Mechanismen bequemer sein.
Back to de.comp.lang.php | Previous | Next — Previous in thread | Find similar
Re: Datenbankzugriffe k@rl.pflaesterer.de (Karl Pflästerer) - 2015-07-20 14:05 +0200 Re: Datenbankzugriffe Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2015-07-28 20:52 +0000 Re: Datenbankzugriffe k@rl.pflaesterer.de (Karl Pflästerer) - 2015-07-29 06:59 +0200
csiph-web