【问题标题】:Storing array of objects inside Redis and retrieving it在 Redis 中存储对象数组并检索它
【发布时间】:2016-07-13 15:45:10
【问题描述】:

我们正在使用 PHP、Redis 和 Predis。我们试图在 Redis 中存储一个对象数组,然后检索它。我们注意到数组不能自然地存储在 Redis 中。存储对象数组并稍后检索它的最佳方法是什么?这是我们的对象数组:

"data": [
    {
      "doctor_id": 4, -- Use this id for getting in method get inquiry doctor offers.
      "clinic": "John",
      "distance": "10 mile"
      "city": "Los Angeles",
      "photo": "http://localhost/botox/storage/web/source/1/j4DnpszEy7epcUMf_N8QY0SRhbs7vLRG.png",
      "photos": {
         "http://path/image.jpg",
         "http://path/image.jpg1"
      }

      "price": "123",
      "photo": false,
      "rating": {
        "stars": null,
        "reviews": null
      },
      "add_info"=> "Some information",
      "time_after_create": 942 -- in seconds.
    }
]

【问题讨论】:

    标签: php arrays object redis predis


    【解决方案1】:
    $dataJSon = json_encode( $data );
    

    然后将 $dataJSon 保存为数据库中的 varchar。

    当你检索它时,使用格式:

    $data = json_decode( $var_name, TRUE ); // TRUE is needed to return to associative array
    

    要“回显”一个数组,要么回显每个数组元素,要么在数组上使用 print_r

    【讨论】:

    • 我们已经尝试过json_encode,然后将其存储在我们的数据库中。当我们检索它时,我们使用了 json_decode 并且当我们检索并回显它时它不会回显任何内容。
    • @baileyJchoi 我已根据您的评论更新了我的答案。
    • 我们已经完全按照您所说的做了,但仍然无法正常工作。它适用于常规字符串,但不打印任何内容。
    • 编辑:好的,它现在可以工作,但非常不一致。我们必须多次刷新页面才能显示数组,但大多数时候,它不会显示。
    • @baileyJchoi 从数据库检索出现问题。请出示您的查询代码。
    猜你喜欢
    • 2017-07-04
    • 2020-03-02
    • 1970-01-01
    • 1970-01-01
    • 2017-11-19
    • 2016-12-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多