Chance
Themenersteller
Programmierer
Guru (173 Beiträge)

JSON oder serialize

am 22.02.2011, 13:37 Uhr eröffnete Chance folgenden Thread
PHP & MySQL    2927 mal gelesen    7 Antwort(en).

Ich möchte einige Array speichern, z.T. als Cache.
Und überlege, welches Format besser wäre.
JSON oder ein serialisiertes Array.

JSON ist einfacher mit weniger Speicher... aber fehleranfälliger z.B. im Zeilnumbruch.
Wärend ein serisalisiertes Array meiner Meinung nach stabil ist.

Was meint ihr ?


romacron
JDev Xer
Content Gott (1224 Beiträge)
am 22.02.2011, 14:14 Uhr schrieb romacron

Die Frage ist gut!
Wie du schon schreibst, "Fehleranfällig beim Zeilenumbruch" kommt es darauf an, was gespeichert werden soll. Ich bevorzuge die Arrays, da diese in javascript vielfach verwendbar sind. Die Typenwandlung bzw die lose Typenunterscheidung eignet sich hervorragend.

..array


Raptor
Avatar Raptor
IT-Student
Content Gott (1013 Beiträge)
am 22.02.2011, 17:04 Uhr schrieb Raptor

Pro JSON:
• JSON-Code kann einfach editiert werden.
• Kleinere Datengrösse gegenüber Serialize
• json_encode() ist 25% schneller als serialize().

Kontra JSON:
• datentyp-unsicher: z.B. kein Unterschied zwischen Integer und Float.
• json_decode() ist 30% langsamer als unserialize().


Pro Serialize:
• datentyp-sicher.

Kontra Serialize:
• Bearbeiten kann tödlich sein, wenn man die Stringlänge nicht korrekt abändert.


Ich würd\' JSON nehmen, wenn man es auch bearbeiten können soll, sonst Serialize.


Meine Developer-Website mit den Web-Entwickler-Tools.
Meine Web-Entwicklungs-Dienstleistungen

[url="http://www.seitenreport.de/forum/beitraege/seitenreport_verlosungen/wichtig_neue_regel

romacron
JDev Xer
Content Gott (1224 Beiträge)
am 22.02.2011, 17:52 Uhr schrieb romacron

...hm, ging es hier nach der Ãœbertragung um php oder im javascript ohne Ãœbertragung?


Chance
Programmierer
Guru (173 Beiträge)
am 22.02.2011, 21:08 Uhr schrieb Chance

Es geht nur im Cachen von Daten.
Die Daten werde im Cache nicht verändert, bzw. nur neugeschrieben.


romacron
JDev Xer
Content Gott (1224 Beiträge)
am 22.02.2011, 21:14 Uhr schrieb romacron

Eine dirty alternative, wenn die Datenmenge gar zu gross ist. Habe das folgende bei wirklich grossen Datenmengen schon umgesetzt.

das was zu speichern ist zwischen 2 divs packen.
visible none oder so ähnlich. Und dann per DOMReader zurückführen get.Content.innerHTML.

so hängt die Menge zwar im DOM aber nicht im javascript. Wenn die innerHTML objekte nicht mehr benötigt werden die var/object/array wieder freigeben.

...für die Nachwelt, dies ist mein PorschePost...(wer es findet schreibt mir ne PN)


matthes
Avatar matthes
Foren Moderator
Evil Genius
Content Halbgott (973 Beiträge)
am 23.02.2011, 18:57 Uhr schrieb matthes

Geht es überhaupt um JavaScript?

Falls Du z.B. einfach nur eine Konfiguration aus einer Datenbank zwischenspeichern willst, kannst Du sie z.B. auch per var_export auslagern und in Dateiform speichern.

<?php
$code=\'<?php\';
$code.=\'$arr = \';
$code.=var_export($arr,true);
$code.=\';\';
$code.=\'?\'.\'>\'; //so geschrieben, weil der Code-Highlighter sonst Quark angezeigt hat
$f=fopen(\'cache.php\',\'w\');
fwrite($f,$code);
fclose($f);
include \'cache.php\';
?>


Um dir konkreter helfen zu können, müsstest du auch konkreter werden. Gib einfach ein Beispiel an...


Make Seitenreport great again!

Chance
Programmierer
Guru (173 Beiträge)
am 23.02.2011, 21:16 Uhr schrieb Chance

Es geht nur um das Cachen verschiedener Daten.

Diese Variante kenne ich, aber Sie erscheint mir nicht sicher genug.


  • 1


« zurück zu: PHP & MySQL

Das Seitenreport Forum hat aktuell 5276 Themen und 36111 Beiträge.
Insgesamt sind 48363 Mitglieder registriert.