首页 > 其他分享 >实战项目-美多商城(六)购物车

实战项目-美多商城(六)购物车

时间:2023-04-07 17:13:45浏览次数:34  
标签:count sku selected bytes 购物车 美多 data id 商城

购物车应该存储那些数据

  • sku_id(商品ID)
  • count(购买数量)
  • selected(是否被勾选)
- 登录用户: 允许使用服务器资源

    - 存储到 redis,每条数据分两种格式存储(为了演示,所以这么搞)

        - Set:{sku_id_1,sku_id_2......} # 有放入集合(自带去重功能),就表示已勾选
        - Hash:dict {sku_id_1:count,sku_id_2:count......}
        
        - 如果是效率搞,可以这么设计,为每个用户创建一个hash: cart_user_id
        	- 里面存储 {sku_id:sku_id,count:xxx,selected:true}

- 未登录用户: 不允许使用服务器资源

    - 存储到 浏览器cookie(存到 localStorage也可以...,为了演示cookie的使用,所以这么搞)

    - cookie中只能存储'键值对',key-value都是必须是str类型

        - response.set_cookie('cart','value','过期时间')

        - 类似的数据格式:

            {
                sku_id_1:{'count':1,'selected':true},
                sku_id_2:{'count':1,'selected':true}
            }

pickle模块(比json模块高效)和base64模块(简单加密/解密)---简单使用

  • pickle模块(将数据在strbytes之间转换): 提供了对于 python 数据的序列化操作,可以将数据转换为 bytes 类型
    • pickle.dumps(): 将 python 数据序列化为 bytes 类型
    • pickle.loads(): 将 bytes 类型数据反序列化为 python 的数据类型( 字典, 对象等 )
import pickle

data = {'1': {'count': 10, 'selected': True}, '2': {'count': 20, 'selected': False}}
bytes_data = pickle.dumps(data)
print(bytes_data) # b'\x80\x03}q\x00(X\x01\x00\x00\x001q\x01}q\x02(X\x05\x00......
dict_data = pickle.loads(bytes_data)
print(dict_data) # {'1': {'count': 10, 'selected': True}, '2': {'count': 20, 'selected': False}}

如果使用str.encode()或者bytes.decode()太过于直观...

  • base64模块:把bytes类型数据,作进一步'加密'/'解密'处理
import base64

bytes_data = b'king'
encode_bytes_data = base64.b64encode(bytes_data)
print(encode_bytes_data) # b'a2luZw=='
decode_bytes_data = base64.b64decode(encode_bytes_data)
print(decode_bytes_data) # b'king'

标签:count,sku,selected,bytes,购物车,美多,data,id,商城
From: https://www.cnblogs.com/qinganning/p/17296763.html

相关文章

  • 小程序商城定制开发要实行哪些举动?这几个举动很有效
     为了让小程序商城更加符合自身的发展需求,不少企业商家会选择找一个开发商帮助自己定制开发。这就产生一个问题,小程序商城定制开发要实行哪些举动?针对这个问题,下面名锐迅动为大家介绍这几个举动很有效。 1.确定功能风格。既然是定制开发一个小程序商城,那么就不希望自己的小程......
  • 在线商城爬虫 带爬取记录 以11TREET 为例
    整体思路第一步 抓取全部的列表页链接第二步抓取每个列表页的商品总数,页数 第三步单个列表页进行分业抓取商品价格第四步单个列表页抓取完成后输出商品数据并在本地文件记录本次抓取最后一步合并各个列页表抓取的商品数据 第一步爬取的网站,获得分类信息https:......
  • 实战项目-美多商城(五)全文检索
    商品搜索需求当用户在搜索框输入商品关键字后,我们要为用户提供相关的商品搜索结果实现可以选择使用模糊查询like关键字实现(效率极低,多字段查询不方便)全文检索方案引入全文检索的方案来实现商品搜索全文检索即在指定的任意字段中进行检索查询全文检索方案需要......
  • 直播商城源码,vue 弹窗 惯性滚动 加速滚动
    直播商城源码,vue弹窗惯性滚动加速滚动弹窗基础组件新建文件components/zwy-popup <template><divv-show="ishide"@touchmove.stop.prevent><!--遮罩--><divclass="mask":style="maskStyle"></div><!--内容--><divcl......
  • 6步带你用Spring Boot开发出商城高并发秒杀系统
    摘要:本博客将介绍如何使用SpringBoot实现一个简单的商城秒杀系统,并通过使用Redis和MySQL来增强其性能和可靠性。本文分享自华为云社区《SpringBoot实现商城高并发秒杀案例》,作者:林欣。随着经济的发展和人们消费观念的转变,电子商务逐渐成为人们购物的主要方式之一。高并发是......
  • 6步带你用Spring Boot开发出商城高并发秒杀系统
    摘要:本博客将介绍如何使用SpringBoot实现一个简单的商城秒杀系统,并通过使用Redis和MySQL来增强其性能和可靠性。本文分享自华为云社区《SpringBoot实现商城高并发秒杀案例》,作者:林欣。随着经济的发展和人们消费观念的转变,电子商务逐渐成为人们购物的主要方式之一。高并......
  • vivo 全球商城:优惠券系统架构设计与实践
    一、业务背景优惠券是电商常见的营销手段,具有灵活的特点,既可以作为促销活动的载体,也是重要的引流入口。优惠券系统是vivo商城营销模块中一个重要组成部分,早在15年vivo商城还是单体应用时,优惠券就是其中核心模块之一。随着商城的发展及用户量的提升,优惠券做了服务拆分,成立了独立的优......
  • 手撕商城体系之产商品系统
    继续接前文手撕商城系统架构设计与实现本文主要讲解商城体系下产商品系统的设计。商城系统可以拆分成多个业务中台和多个应用服务。1、产商品系统业务架构产商品系统作为商城重要的基础信息组成部分,主要划分为产品信息和商品信息,产品信息保持最原始的产品基础属性和内容,商品信......
  • 盲盒商城功能讲解,盲盒商城软件开发
    盲盒商城app有哪些,盲盒商城小程序有哪些,盲盒商城软件开发多少钱,盲盒商城软件开发公司哪家好,类似魔点APP开发,类似魔点APP开发多少钱,类似魔点软件OEM开发,盲盒商城软件开发,盲盒商城小程序开发,盲盒商城app开发,盲盒商城平台搭建随着科技的不断发展,越来越多的人开始使用智能手机,......
  • VUE实现购物车界面
    以下是一个用Vue.js实现购物车的简单示例:在Vue组件中定义购物车数据:data(){return{cart:[],total:0}}在商品列表或详情页中添加“加入购物......