2

HMSET を使用して、多次元配列で redis を使用しようとしています。
私の配列は次のようになります。

Array
(
    [t] => Hello
    [a] => This
    [c] => key
    [b] => 23
    [data] => Array
        (
            [1] => some value
            [more] => value
        )

)

predis ライブラリを使用して、この形式でデータを redis に保存する方法はありますか?

4

2 に答える 2

4

これを行うためのより良い方法はjson_encode、PHP で配列を使用し、Redisに設定して保存することです

$string = json_encode(Array
(
    [t] => Hello
    [a] => This
    [c] => key
    [b] => 23
    [data] => Array
        (
            [1] => some value
            [more] => value
        )   
));
于 2014-05-30T12:05:54.577 に答える
3

はい、Redis は文字列を格納でき、PHP は (多次元) 配列を文字列にシリアライズできます。

例のserialize関数はその正確なジョブに使用できますが、単なる例であり、データを (バイナリ) 文字列にシリアル化する任意のシリアル化方法を使用できます。

たとえば、JSON ( json_encode)、XMLimplodeを利用できますが、場合によっては適切な場合もあります。

$string = serialize(Array
(
    [t] => Hello
    [a] => This
    [c] => key
    [b] => 23
    [data] => Array
        (
            [1] => some value
            [more] => value
        )

));

$cmdSet = $redis->createCommand('set');
$cmdSet->setArgumentsArray(array('thisispredisdoingredis', $string));
于 2012-05-19T11:58:28.673 に答える