PHP数组实际上是哈希表,Redis似乎不支持二维数组,但是可以使用hmset把PHP数组保存为hash类型的数据,使用hmget读取一维的键没问题,读取二维的多维的键就返回false。
$hset = array( 'WUST'=>'WUHAN SI', 'birth'=>1031, 'marray'=>array( 'apple'=>'苹果', 'orange'=>'org', ), ); dump($redis->hmset('tuntun',$hset));//将数组保存为hash类型 dump($redis->hmget('tuntun',array('birth')));//取出一位数组birth的值,ok dump($redis->hmget('tuntun',array('marry','apple')));//取出二维数组marray的apple的值,返回false
就算使用hgetall方法:
dump($redis->hgetall('hset_tuntun')); 结果如下: array(3) { ["WUST"] => string(8) "WUHAN SI" ["birth"] => string(4) "1031" ["marray"] => string(5) "Array" }
二维数组无法显示。所以redis不支持PHP的多维数组的存取。
解决办法是:如有要用redis存多维数组,可以把数组json_encode转换成json各式数据,以string类型的方式存储。读取的时候再json_decode回来。
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索php
, 数组
, string
, array
, 类型
哈希
redis 存取数组、redis 多维数组、php redis 多维数组、java redis list 存取、php redis hash存取,以便于您获取更多的相关知识。
时间: 2024-09-30 06:50:30