如果并发量不高直接向数据库中添加即可。

操作数据库时,直接增删改查即可

要是要求并发量的话:
操作redis


表设计
购物车的redis结构
购物车存的是对象id,不要指望一个hash就把所有的信息都存起来,之前的对象我们也是存到了redis中

商品信息缓存为什么商品不用hash,因为redis 过期是key过期,如果key过期了,那么这个hash全删了,所以商品信息用string
购物车变化缓存,为了将一段时间没有变更的购物车根据时间持久化到数据库,把操作购物车的时间当做score,然后根据score拿到一段时间没有操作购物车的用户id,把其持久化到数据库

购物车缓存方案

缓存过期时间

添加购物车
hash表
查询购物车
查询出来的是商品id,根据id找具体信息的缓存,然后返回
购物车
zset

hash
