群里有人问这个Redis存储用户购物车信息,我简单的写了个面向过程的demo

代码如下:

<?php
$user_id=session("user_id");//获取用户登录信息
$goods_id=isset($_POST['goods_id'])?$_POST['goods_id']:0;//获取要添加的商品id
if($user_id<1)
{
die("用户不存在或者尚未登录");//用户不存在或者尚未登录
}
if($goods_id<1)
{
die("传参丢失");//传参丢失
}
$goods_info=get_goods_info_by_goods_id($goods_id);//获取商品信息
$redis_object=new Redis();//实例化Redis模型
$my_cart_info=unserialize($redis_object->get("cart_".$user_id));//获取某个人的购物车信息
if(isset($my_cart_info[$goods_id]))
{
$my_cart_info[$goods_id]['count']++;//数量加 1
}else
{
//该商品首次加入购物车
$my_cart_info[$goods_id]=array(
"count"=>1,
"info"=$goods_info
);
}
$redis_object->set("cart_".$user_id,serialize($my_cart_info));//放入Redis
echo json_encode($my_cart_info);
exit();
?>

截图如下:

最新文章

  1. Creating Custom Connector Sending Claims with SharePoint 2013
  2. mssql禁用启用主键约束
  3. [问题2015S09] 复旦高等代数 II(14级)每周一题(第十教学周)
  4. SpringMVC配置数据库连接池
  5. 关于Java类加载双亲委派机制的思考(附一道面试题)
  6. tableView在加载数据成功之前先展示了footerView-医生工作台1期
  7. cannot modify header information 关于实现widget页面跳转的问题
  8. 扩展duilib edit控件的提示功能和多种文字颜色(解决edit为password显示不正常的bug)
  9. html中offsetTop、clientTop、scrollTop、offsetTop
  10. org.hibernate.AnnotationException: No identifier specified for entity: cn.itcast.domain.Counter
  11. 对Memcached使用的总结和使用场景
  12. ab apache Benchmarking中链接的写法 记得加上/
  13. html contenteditable
  14. nginx和apache的优缺点比较
  15. Mybatis学习(5)高级映射
  16. background属性的学习整理转述
  17. Android View框架总结(九)KeyEvent事件分发机制
  18. 初学ASP.NET 知识点
  19. JS 执行上下文
  20. Tp-validate进阶

热门文章

  1. CATALINA_BASE与CATALINA_HOME的区别
  2. [impala] impala 简介
  3. [hadoop读书笔记] 第九章 构建Hadoop集群
  4. resin4.0.23+nginx1.1集群
  5. windows下docker使用及注意事项
  6. svn -- svn数据仓库
  7. (弃) Keystone CLI_选项与子命令概况
  8. winform程序开机自动启动
  9. 面试的角度诠释Java工程师(一)
  10. Windows7下安装cpu版的Tensorflow