实现方式一:存储到数据库
性能存在瓶颈
实现方式二:前端本地存储-localstorage-sessionstorage 未登陆的时候,可以暂存在前端本地存储的方式
localstorage在浏览器中存储 key/value 对,没有过期时间。
sessionstorage在浏览器中存储 key/value 对,在关闭会话窗口后将会删除这些数据。
实现方式三:后端存储到缓存如redis
可以开启AOF持久化防止重启丢失(推荐)
实现方式四:后端存储到缓存如redis-并同步更新到数据库
大家可能会想到缓存和数据库的一致性,加了用户唯一标识后,没高并发操作同一数据的场景
---------------------------------------------------------------------方式三------------------------------------------------------------------
//BoundHashOperations,这是操作Hash类型数据的,也就是键key对应的value值 用来存放购物车的数据模型
BoundHashOperations<String, Object, Object> operation = redisTemplate.boundHashOps(cartKey);