1.购物车商品加入redis (增)

$data = [ //存储信息自定义 'title' => 'title',//商品title 'image' => 'image',//购物车商品浏览图 'num' => 'num',//商品数量 'created_at' => time(),//插入时间 ]; //Cache::hget(储存名称,储存键,储存数据) 这里使用商品sku_id作为键名 $redisDataResult = Cache::hget('mall_cart_' . $user_id, $goods_id, json_encode($data));

2.修改购物车商品数量(改)

$data = [ //存储信息自定义 'title' => 'title',//商品title 'image' => 'image',//购物车商品浏览图 'num' => 'num',//商品数量 'created_at' => time(),//插入时间 ]; //利用Cache::hget(存储名称,存储键) ,通过存储名称和商品Id 找到相应的数据。 $redisDataResult = Cache::hget('mall_cart_'. $user_id, $goods_id); //判断时候有数据,如果有 直接在原数据上更新商品数量 if ($redisDataResult) { $data['sum'] = json_decode($redisDataResult, true)['sum'] + $data['sum']; } //将新的信息插入redis $redisResult = Cache::hset('mall_cart_' . $user_id, $user_id, json_encode($data));

3.查询购物车全部数据(查)

//Cache::hgetAll(存储名称) 通过方法返回用户购物车全部数据, //返回array 但是该数据无序,无序对用户不友好。 $userCartDatas = Cache::hgetAll('mall_cart_' . $user_id); //通过新增时插入的crated_at时间进行排序,使用php array函数方法 array_multisort(array_column($userCartDatas,'created'),SORT_DESC,$userCartDatas);

4.从购物车移除商品(删)

//Cache::hDel(储存名称,储存键) 这里储存键代表$sku_id,删除购物车中某个商品。 $result = Cache::hDel('mall_cart_'.$user_id,$sku_id); if($result){ return true; } return false;

5.购物车数量统计(count)

//根据用户ID 找到购物车商品条数 $result = Cache::hlen('mall_cart_'.$user_id,$sku_id);

6.指定查询购物车商品

//一般用户订单确认页面商品详情展示,使用和购物车 查找全部一样逻辑,只不过限制了商品ID //$idsArray 为多个或一个商品ID $userCartDatas = Cache::hmget('mall_cart_'.$user_id,$idsArray);
最后修改:2022 年 10 月 11 日
如果觉得我的文章对你有用,请随意赞赏