配列を保存するには Redis を使用し、文字列型で保存します。
PHP 独自の json_encode と json_decode を使用して json に変換します (失敗)。
PHP 独自のシリアル化関数は、関数をシリアル化およびシリアル化解除します (成功)。
具体的な違いはありますか?誰か成功と失敗の原則を教えてくれませんか?
PHP 独自の json_encode と json_decode を使用して json に変換します (失敗)。
PHP 独自のシリアル化関数は、関数をシリアル化およびシリアル化解除します (成功)。
具体的な違いはありますか?誰か成功と失敗の原則を教えてくれませんか?
の結果を直接印刷して確認することができます。
おそらく json_encode
的字符串直接 json_decode
で、結果が配列ではなくオブジェクトになるのではないかと思います。
json_decode($str, true)
少了参数写成 json_decode($str)
シリアル化と JSON は本質的に同じものではなく、JSON はデータ形式です
シリアル化とは、実行環境内のデータ オブジェクトをストリーム データに変換して、ファイルに保存したり、他の場所で使用できるようにネットワーク経由で送信したりすることを指します。
逆シリアル化後、このストリーム データは言語のデータ オブジェクトに復元されます。すべての言語には独自のシリアル化メソッドがあります
php には、serialize より効率的なメソッドがあります。それは、
igbinary_serialize() と
igbinary_unserialize() です
redis を使用する場合の構成
リーリー
Redis は、毎回シリアル化してから設定するのではなく、取得が完了するたびに逆シリアル化するのではなく、自動的にシリアル化します
シリアル化については、PHPを例にして説明します
サーバー A でオブジェクト インスタンスをシリアル化したので、そのインスタンスをサービス B で使用する必要があります
もちろん、サーバー B も通常どおり逆シリアル化するために、クラス Person の宣言が必要ですリーリー
データを保存または送信する必要があるため (いわゆる I/O)、シリアル化が必要です。 Json は一般的に使用されるデータ ストリーム形式ですが、メタデータのみを保存でき、複雑なオブジェクトのプロパティやメソッドを表現できません。
gbk はエンコードできません
json_encode がオブジェクトをシリアル化できないだけです