我正在尝试使用 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));