redis 怎么存数组和获取数组

$redis = new redis();
$redis->connect('127.0.0.1', 6379);
$redis->set("asd",array('a'=>'aaa','b'=>"bbb",'c'=>'ccc'));
$a=$redis->get("asd");

这样写只会输出一个array 不是一个数组,该怎么写才会获取一个数组
最新回答
嗝是迷路的屁

2024-06-30 19:02:30

有两种方法: 

1.把要存的数组序列化 或者 json_encode后 变成

字符串
再存。取的时候  反序列号或者json_decode处理成数组。

2.可以使用hash结构,以key作为1维,以hash中的field作为第二维。

redis 如何操作多维数组?

1.Redis用list这种一维数组来模拟二维。

2.序列化一下保存的数据,在原有的hset跟hget的基础上新增了两个方法 setArr跟getArr 调用 hset hget 用来保存多维数组的情况,这两个方法是在存之前,取之后都进行序列化操作。

3.用redis存多维数组,可以把数组json_encode转换成json各式数据,以string类型的方式存储。读取的时候再json_decode回来。

4.Redis本身不支持存取PHP数组的

数据结构
,但是如何存取PHP的数组呢?可以把数组序列化,以字符串的形式缓存到Redis中。

5.以使用hmset把PHP数组保存为hash类型的数据,使用hmget读取一维的键没问题,读取二维的多维的键就返回false。

浅挚绊离兮

2024-06-30 19:36:34

可以使用hash结构,以key作为1维,以hash中的field作为第二维(不过主要注意,不要让field的数量过大)!
爱情的模样

2024-06-30 14:57:00

把要存的数组序列化 或者 json_encode后 变成字符串再存。取的时候 反序列号或者json_decode处理成数组。