2017-09-26 32 views
0

私は以下のようなツリー構造を持っています。これはPHPを使って作成されています。毎回完全な構造を埋め込むのは時間がかかりますので、私はそれをRedisに入れたいと思います。今は普通のJSONとして保存されていますが、新しい項目を追加した後は、既存のJSONを削除して、再度挿入してRedisに挿入する必要があります。 私は親アイテムまたは子のいずれかの階層に新しいアイテムを追加できるように構造を作りたいと思います。 Redisのどのデータ構造でこれを使用できますか?どのようにすればいいですか?短い答えは、あなたが簡単にそれを行うことができないということですので、Redisにツリー構造を格納する

[ 
    { 
     "id":2, 
     "order":2, 
     "children":[ 
      { 
      "id":3, 
      "order":1, 
      "children":[ 

      ], 
      "actions":[ 
       { 
        "id":1, 
        "slug":"manage", 
        "title":"manage", 
        "api":[ 

        ] 
       } 
      ] 
      }, 
      { 
      "id":4, 
      "order":2, 
      "children":[ 

      ], 
      "actions":[ 
       { 
        "id":2, 
        "slug":"settings", 
        "title":"settings", 
        "api":[ 

        ] 
       } 
      ] 
      } 
     ], 
     "actions":[ 
      { 
      "id":190, 
      "slug":"update", 
      "title":"update", 
      "api":[ 

      ] 
      } 
     ] 
    } 
] 

答えて

2

Redisのコア・データ構造は、ネストを持っていません。

シリアル化されたJSONの格納には、サブセットに触れても値の完全な読み取り/書き込みが必須であるという欠点があります。

私が推奨できる2つの選択肢は、ReJSONを使用してa)using Lua to manipulate the serialized JSONまたはb)です。

免責事項:私はReJSONの著者です。

関連する問題