由于业务需要,大量数据操作数据库会给数据库带来很大的压力,所以可以先把数据存储在redis里。
$host="127.0.0.1";
$port=6370;
$password="xxxxxx";
$redis=new \Org\Util\Redis($host,$port,$password);
$arrays=array(['id'=>0,'username'=>'小明'],['id'=>1,'username'=>"小红"]);
// dump($arrays);die;
// $arrays=array(2){
// [0] => array(2) {
// ["id"] => int(0)
// ["username"] => string(6) "小明"
// }
// [1] => array(2) {
// ["id"] => int(1)
// ["username"] => string(6) "小红"
// }
// }
//
foreach($arrays as $key=>$val)
{
//users 设置redis的key,在获取的时候就直接获取设置的这个key
//$key 自定义二维数组的key
//serialize($v) 把二维数组的键值对转换成序列化存储
$redis->hSet("users",$key,serialize($val));
}
//根据存储的redis的key来获取你需要的数据
$hget=$redis->hGetAll("users");
//很显然,这个$hget不是我们想要的,需要反序列化一下
//$hget=array(2) {
// [0] => string(47) "a:2:{s:2:"id";i:0;s:8:"username";s:6:"小明";}"
// [1] => string(47) "a:2:{s:2:"id";i:1;s:8:"username";s:6:"小红";}"
// }
$lists=array();
foreach($hget as $key=>$val)
{
array_push($lists,unserialize($val));
}
dump($lists);
//这个才是我们想要的数据
// $lists=array(2) {
// [0] => array(2) {
// ["id"] => int(0)
// ["username"] => string(6) "小明"
// }
// [1] => array(2) {
// ["id"] => int(1)
// ["username"] => string(6) "小红"
// }
// }