sql >> データベース >  >> NoSQL >> Redis

php-redis-シリアル化せずにPHPオブジェクトをRedisに保存する方法はありますか?

    Redisデータ型でわかるように、Redisは次の5つのデータ型のみをサポートします。

    • 文字列
    • リスト
    • 設定
    • ハッシュ
    • ソート済みセット

    したがって、オブジェクトデータ型はありません。 そのため、オブジェクトを値として直接格納することはできません。最初にシリアル化する必要があります(またはJSON-json_encodeでエンコードします) たとえば、関数)。

    オブジェクトを直接保存することを主張するシリアル化に問題はありますか?

    更新: コメントであなたが言ったことによると、あなたはこの答えで示されたアプローチを使うことができます

    したがって、次を使用できます:

    $xml = $simpleXmlElem->asXML();
    

    シリアル化の前、そしてunserialize()の後 、次のコードを使用します:

    $simpleXmlElem = simplexml_load_string($xml);
    

    このように、SimpleXmlElementのようなPHP組み込みオブジェクトをシリアル化する必要はありません。 直接、問題はありません。



    1. MongoDB:「_id」の代わりに「id」を出力します

    2. MongoDBのインデックスのリストを取得する

    3. フィールドのタイプを変更するにはどうすればよいですか?

    4. Pythonでセロリタスクバックエンドを設定する際の問題