237 购物车的数据模型分析

1 购物车分类

登录购物车/在线购物车
	登录之后将临时的数据全部合并,临时购物车被清空。

游客购物车,离线购物车
	浏览器即使关闭,下次进入,临时购物车数据还在。

2 需要实现的功能

查询自己的购物车
给购物车添加商品
清理购物车....

3 数据库,数据结构选择及理由

1 关系型数据库为什么不
登录状态下,优先使用mysql,购物车是一个读写都是高并发操作。
2 redis牛掰
存储很多条购物项,mongodb,或者放到redis,nosql
redis:数据结构好组织,性能高。

redis指定持久化策略,即使宕机,也可以恢复,损失性能,还是比mysql高效。
临时购物车,数据存放在localStorage.
3 数据和结构和理由
skuid,每一个购物项是否被保存。
商品被购买的数量,属性组合,购物车是一个数组。
key:每一个用户都有对应的购物车。cart:1
type:list
value:{}  json
list缺点,修改一个东西,的数量,
为了快速修改购物项,变成一个hash
hash,找商品很快,一个id就是一个key,对应一个商品
Map<String k1,Map<String k2,CartItemInfo>>
k1,标识每一个用户的购物车。
k2,购物项的商品id。
收藏夹和购物车系统的实现  收藏夹子系统 (1) 【收藏指定图书】能收藏一本图书,并记录收藏日期(某年某月某日,如2016-12-12。所有日期都采用人工定义方式输入,不取机器日期)。图书的信息包括图书号(是唯一的)、书名、作者、出版社、出版日期、价格。 (2) 【查询指定图书】能按照图书号查询显示收藏夹中图书的相关信息(也可以扩展功能为按照书名、作者、出版社、出版日期、指定价格大小范围查询显示收藏夹中图书的相关信息)。 (3) 【按日期显示所有图书】能按照收藏日期的先后显示输出所收藏的所有图书的相关信息。 (4) 【移出收藏夹】可以把不想收藏的某一本指定图书号的图书直接移出收藏夹。 (5) 【加入购物车】将收藏夹中的某一本指定图书号的图书加入到购物车。 (6) 【按价格显示所有图书】能按照价格的大小显示输出收藏夹中的所有图书的相关信息。  购物车子系统 (1) 【直接加入购物车】把准备购买的一本图书直接加入购物车,同时记录加入购物车的日期。图书的信息包括图书号(是唯一的)、书名、作者、出版社、出版日期、价格、购买数量、购买金额(自动计算)。 (2) 【查询指定图书】能按照图书号查询显示购物车中准备购买的图书的相关信息(也可以扩展功能为按照书名、作者、出版社、出版日期、指定价格大小范围查询显示购物车中图书的相关信息)。 (3) 【修改购买数量】可以修改购物车中准备购买的某一本指定图书号的图书的数量,同时自动计算修改购买金额(购买金额=购买数量*价格)。 (4) 【删除指定图书并移到收藏夹】把购物车中的某一本指定图书号的图书删除并移到收藏夹。 (5) 【直接删除指定图书】可以把不想购买的某一本指定图书号的图书从购物车中删除。 (6) 【按图书号显示所有图书】把购物车中所有图书按照图书号列出每一本图书的图书号、书名、作者、出版社、出版日期、价格、购买数量、购买金额,最后列出总共有多少本图书、总金额是多少。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值