在 php 中使用多维数组的 Redis


Redis with multidimensional array in php

我正在尝试使用 HMSET 将 redis 与多维数组一起使用。
我的阵列看起来像这样。

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

有什么方法可以使用 predis 库在 redis 中以这种格式存储数据。

更好的方法是在 PHP 中json_encode数组并将其存储在 Redis 中

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

是的,Redis 能够存储字符串,PHP 能够将(多维(数组序列化为字符串。

示例中的 serialize 函数可用于该确切作业,但只是示例性的,您可以使用将数据序列化为(二进制(字符串的任何序列化方法。

例如,您可以使用JSON(json_encode(,XML或在某些情况下只是implode可能合适的。

$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));